Create a devise user from Ruby console Create a devise user from Ruby console ruby ruby

Create a devise user from Ruby console


You can add false to the save method to skip the validations if you want.

User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)

Otherwise I'd do this

User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })

If you have confirmable module enabled for devise, make sure you are setting the confirmed_at value to something like Time.now while creating.


You should be able to do this using

u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')u.save

if this returns false, you can call

u.errors

to see what's gone wrong.


When on your model has :confirmable option this mean the object user should be confirm first. You can do two ways to save user.

a. first is skip confirmation:

newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})newuser.skip_confirmation!newuser.save

b. or use confirm! :

newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})newuser.confirm!newuser.save