I am using devise and recently added active admin, which created a separate table of admin_users to keep admins.
All works fine with Active Admin when I try to log i
I couldn't get @coreyward's solution to work, but editing config/application.rb
as per this Devise post and adding:
ActiveAdmin.register_page "Dashboard" do
controller do
skip_before_action :name_of_filter_to_skip
end
# Other code
end
to admin/dashboard.rb
did the trick. It didn't work by just editing config/application.rb
alone. Make sure to restart your server!
In config/initializers/active_admin.rb
you can add the following:
config.skip_before_action :authenticate_user!
You can also use the DSL provided to modify the ActiveAdmin controller: http://activeadmin.info/docs/8-custom-actions.html#modify_the_controller
Note: For Rails versions before 5.0 you will want to use skip_before_filter
.
I couldn't make the solutions of @fringd and @coreyward to work on Rails4 (using ActiveAdmin master branch).
So, I've moved the filter methods (I have two filters: authorize_user!
and check_user_status
) to a new Concern, and included this created module into the Controllers which had those filters (except for the ApplicationController
, which should remain clean).
Then restarted the server, and problem solved.
both of the corey and Sooie are right... but only partially, to stop your blanket authorize_user! filter from affecting active_admin you need to implement both of their answers...
config/initializers/active_admin.rb
config.skip_before_filter :authorize_user!
app/admin/dashboard.rb
controller do
skip_before_filter :authorize_user!
end