Mar*_*tin 140 ruby ruby-on-rails devise
有关如何使用ruby控制台设计和保存新User对象的任何想法?
当我试图保存它时,我总是假的.我想我错过了一些东西,但我找不到任何相关的信息.
jsp*_*ner 187
如果需要,可以向save方法添加false以跳过验证.
User.new({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Run Code Online (Sandbox Code Playgroud)
否则我会这样做
User.create!({:email => "guy@gmail.com", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Run Code Online (Sandbox Code Playgroud)
如果您confirmable为设计启用了模块,请确保将confirmed_at值设置为Time.now创建时的值.
Sam*_*hie 74
你应该可以使用
u = User.new(:email => "user@name.com", :password => 'password', :password_confirmation => 'password')
u.save
Run Code Online (Sandbox Code Playgroud)
如果返回false,则可以调用
u.errors
Run Code Online (Sandbox Code Playgroud)
看看出了什么问题.
akb*_*bin 27
当您的模型具有:确认选项时,这意味着对象用户应首先确认.您可以通过两种方式来保存用户.
一个.首先是跳过确认:
newuser = User.new({email: 'superadmin1@testing.com', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
Run Code Online (Sandbox Code Playgroud)
湾 或使用确认!:
newuser = User.new({email: 'superadmin2@testing.com', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Run Code Online (Sandbox Code Playgroud)
如果您想避免发送确认电子邮件,最好的选择是:
u = User.new({
email: 'demo@greenant.com.br',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Run Code Online (Sandbox Code Playgroud)
因此,如果您使用的是假电子邮件或没有互联网连接,那么就可以避免错误.
| 归档时间: |
|
| 查看次数: |
81756 次 |
| 最近记录: |