使用 Rails 3.2。
我有六个控制器,并且想用http_basic_authenticate_with
.
我不想手动添加http_basic_authenticate_with
到每个控制器(我将来可以添加另一个控制器而忘记保护它!)。似乎答案是把它放在application_controller.rb
一个:except
arg 中,它会列出不应该受到保护的控制器。问题是, :except 子句需要方法名称而不是外部控制器模块名称,例如:
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'
解决这个问题的最佳方法是什么?