Rails 3.2 を使用しています。
私は半ダースのコントローラーを持っており、それらの一部(すべてではありません) を で保護したいと考えていhttp_basic_authenticate_with
ます。
各コントローラーに手動で追加したくありませんhttp_basic_authenticate_with
(将来別のコントローラーを追加して、それを保護するのを忘れる可能性があります!)。答えは、保護されるべきではないapplication_controller.rb
コントローラーをリストする:except
引数を付けて入れることのようです。問題は、: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'
これにアプローチする最良の方法は何ですか?