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'
Какой лучший способ подойти к этому?