HTTP Basic Auth для некоторых (не всех) контроллеров

Использование Rails 3.2.

У меня полдюжины контроллеров, и я хочу защититьнесколько (но не все) из них сhttp_basic_authenticate_with.

Я не хочу добавлять вручнуюhttp_basic_authenticate_with к каждому контроллеру (я мог бы добавить еще один контроллер в будущем и забыть защитить его!). Кажется, ответ состоит в том, чтобы поместить это вapplication_controller.rb с:except Arg, который будет список контроллеров, которые должныне быть защищенным. Проблема заключается в том, что в предложении: кроме нужны имена методов, а не имена модулей внешнего контроллера, например:

http_basic_authenticate_with :name => 'xxx', :password => 'yyy', :except => :foo, :bar

Тогда я подумал: «Подождите, так как у меня уже есть защищенные контроллеры, сгруппированные вroutes.rb, давайте поместим это там. "Так что я попробовал это в моих маршрутах:

  scope "/billing" do
    http_basic_authenticate_with :name ...
    resources :foo, :bar ...
  end

Но теперь я получаю

undefined method `http_basic_authenticate_with'

Какой лучший способ подойти к этому?

Ответы на вопрос(1)

Ваш ответ на вопрос