ActiveAdmin で /admin/login に before_filter をかける

  • 9
    いいね
  • 0
    コメント
この記事は最終更新日から1年以上が経過しています。

ActiveAdmin の初期化ファイルでは config.before_filter で before_filter をセットできる。

config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
  ...
  config.before_filter :some_filter
  ...
end

ただしこのフィルタはリソースにしか効かない。つまり /admin/dogs/index/admin/cats/show にアクセスしたときはフィルタがかかるが、 /admin/login/admin/logoutにアクセスしたときはかからない。

/admin/login にフィルタをかけるには以下のようにする。

config/initializers/active_admin.rb
ActiveAdmin.setup do |config|
  ...
  ActiveAdmin::Devise::SessionsController.before_filter :some_filter
  ...
end