“密码不能为空”播种数据库时出错 [英] "Password can't be blank" error when seeding database

查看:95
本文介绍了“密码不能为空”播种数据库时出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用通过 seed_dump gem,无论如何,生成的种子文件看起来合法,但似乎与用户模型验证不符:

I'm attempting to seed my database using the data that I grabbed with the seed_dump gem, found here. Anyway, the seed file generated looks legit, but it seems to be falling afoul of the user model validation:

ActiveRecord :: RecordInvalid:验证失败:密码不能为空

ActiveRecord::RecordInvalid: Validation failed: Password can't be blank

种子看起来像这样:

User.create!([
  {email: "1234@localhost", encrypted_password: "$2a$10$5eoHh6M2q4GjGkHClO.NqebWWhS94D8rNj5Ot6CB2qrbn7IrTfkSa", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: "2014-12-31 22:27:09", last_sign_in_at: "2014-12-31 22:27:09", current_sign_in_ip: "127.0.0.1", last_sign_in_ip: "127.0.0.1", admin: false}
])

此外,我正在使用 devise 宝石为用户提供魔法

Also, I'm using the devise gem for users management.

在使用此过滤器的情况下,是否存在一种优雅的方式来植入用户数据?

Is there an elegant way to seed the user data given this filter?

推荐答案

您可以执行以下操作:

u = User.new([
  {email: "1234@localhost", encrypted_password: "$2a$10$5eoHh6M2q4GjGkHClO.NqebWWhS94D8rNj5Ot6CB2qrbn7IrTfkSa", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: "2014-12-31 22:27:09", last_sign_in_at: "2014-12-31 22:27:09", current_sign_in_ip: "127.0.0.1", last_sign_in_ip: "127.0.0.1", admin: false}
])
u.save!(validate: false)

这篇关于“密码不能为空”播种数据库时出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆