dormitkon
dormitkon

Reputation: 2526

How to create the first (Admin) user (CanCan and Devise)?

I made authentication in my Rails 3 app fallowed by Tony's tutorial

I don't want public registrations on my app, just to create new users with Admin account, but I can't create Admin account manually, because in table Users there is encrypted password and salt that must to be generated, and I don't know how :|

Upvotes: 33

Views: 32872

Answers (3)

SnapShot
SnapShot

Reputation: 5544

In addition, if you are using confirmable and want to skip the requirement for a confirmation email when creating new accounts you can do something like this:

newuser = User.new({ :email => '[email protected]', 
          :password => 'password', 
          :password_confirmation => 'password'})
newuser.skip_confirmation!
newuser.save

This is useful if the accounts you are creating are for trusted users or if you are creating test accounts.

Upvotes: 18

Mark S.
Mark S.

Reputation: 1546

I am current something like this (your details may be different) in my seeds.rb file to create my admin user for Devise.

User.new({ :email => '[email protected]', :password => 'password', :password_confirmation => 'password'}).save

You can execute it using rake db:seed in the terminal window.

Upvotes: 21

Braden Becker
Braden Becker

Reputation: 2499

You can do it from the rails console. From the command line goto the directory of your rails application and type rails console. Then enter the following code to create a user:

user=User.create!(:email=>'[email protected]',:username=>'test',:password=>'password')

This will create a user object (assuming your devise resource is called User). Now you can use the user object that you just created to set admin privileges.

Upvotes: 45

Related Questions