从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个字符。