Rails 3 - Can Active_admin use an existing user model?

Frexuz picture Frexuz · Dec 2, 2011 · Viewed 17.4k times · Source

Can Active Admin use my current Devise user model? It already has a column named admin, and if it's true, I'd like to bypass the Active admin login, when going to /admin.

Is this possible?

Current routes:

#Active admin
ActiveAdmin.routes(self)

#Devise
devise_for :admin_users, ActiveAdmin::Devise.config
devise_for :users, :path => "account"

The rest is basically standard Devise + Active admin

Answer

JCorcuera picture JCorcuera · Dec 2, 2011

Yes you can do that, when running the generator skip the user model creation:

rails generate active_admin:install --skip-users

Then in your config/initializers/active_admin.rb :

# == User Authentication
#
# Active Admin will automatically call an authentication
# method in a before filter of all controller actions to
# ensure that there is a currently logged in admin user.
#
# This setting changes the method which Active Admin calls
# within the controller.
config.authentication_method = :authenticate_admin!

uncomment config.authentication_method and provide your authentication method for your admin, for example:

# app/controllers/application_controller.rb
def authenticate_admin!
 redirect_to new_user_session_path unless current_user.is_admin?
end

Restart your server and It should be working. Also Take a look to Active Admin Configuration

Hope this helps.