47
votes

I am using devise for my users. I recently installed the rails Active Admin gem, everything is working beautifully.

However I can't figure out how to add a new admin users. I can see that active admin created an admin_user table in the db with a user [email protected], which I use to log in to the interface.

I tried adding admin_user as a resource so that I can just click the Add Admin User button within the active admin interface to add a new user, however that does not seem to work.

4
Check out step 2 of this tutorial, it may help: net.tutsplus.com/tutorials/ruby/…Brian
additional fyi: this is the code Active Admin uses to create the default admin user: AdminUser.create!(:email => '[email protected]', :password => 'password', :password_confirmation => 'password')Brian

4 Answers

94
votes

What brian said works perfectly http://net.tutsplus.com/tutorials/ruby/create-beautiful-administration-interfaces-with-active-admin/

AdminUser.create!(:email => '[email protected]', :password => 'password', :password_confirmation => 'password')
7
votes

What Brian said works, but if you want to set the password in the interface rather than have it send a reset email try this:

Leave the admin_user model at its original generated default, then in app/admin/admin_users.rb:

ActiveAdmin.register AdminUser do
  index do
    column :email
    column :current_sign_in_at
    column :last_sign_in_at
    column :sign_in_count
    default_actions
  end

  form do |f|
    f.inputs "Admin Details" do
      f.input :email
      f.input :password
      f.input :password_confirmation
    end
    f.buttons
  end
end
2
votes
  1. login: [email protected] password: password => login
  2. go to http://localhost:3000/admin/admin_users

If you want create users (devise users, table "users") in admin panel:

  1. $ rails generate active_admin:resource user
  2. app/admin/user.rb:

ActiveAdmin.register User do
  permit_params :email, :name, :password, :password_confirmation

  index do
    column :name
    column :email
    actions
  end

  form do |f|
    f.inputs 'User' do
      f.input :name
      f.input :email
      f.input :password
      f.input :password_confirmation
    end
    f.actions
  end
end
1
votes

this is the new syntax AdminUser.create!(email: "[email protected]", password: "password123", password_confirmation: "password123")