从Ruby控制台创build一个devise用户
任何想法如何创build和保存一个新的用户对象的devise从ruby控制台?
当我试图拯救它时,我总是虚假的。 我想我失去了一些东西,但我无法find任何相关的信息。
如果需要,您可以向保存方法添加false以跳过validation。
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
否则我会这样做
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
如果您的devise已启用可confirmable
模块,请确保在创build时将Time.now
值设置为Time.now
类的值。
你应该可以使用这个
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password') u.save
如果返回false,则可以调用
u.errors
看看出了什么问题。
在你的模型上有:确认选项这意味着对象用户应该先确认。 您可以通过两种方式来保存用户。
一个。 首先是跳过确认:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'}) newuser.skip_confirmation! newuser.save
湾 或使用确认! :
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'}) newuser.confirm! newuser.save
如果你想避免发送确认电子邮件 ,最好的select是:
u = User.new({ email: 'demo@greenant.com.br', password: '12feijaocomarroz', password_confirmation: '12feijaocomarroz' }) u.confirm! u.save
所以,如果你使用假电子邮件或没有互联网连接,这将避免错误。
上面的答案都没有为我工作。
这就是我所做的:
User.create(email: "a@a.com", password: "asdasd", password_confirmation: "asdasd")
请记住,密码必须大于6个字符。