Bru*_*gia 8 ruby-on-rails fixtures bcrypt
我遇到了BCrypt密码的问题:我的User模型都设置为has_secure_password和validates_presence_of :password.
重点是BCrypt使用password,password_confirmation但在模式中只有password_digest字段.
夹具抱怨该password字段不存在.
我怎么能避免这个?
谢谢
sil*_*rdr 13
似乎固定装置直接被推送到数据库.这意味着password:你需要password_digest:在你的灯具中代替:
test_user:
email: "tester@testing.net"
password_digest: <%= BCrypt::Password.create('testpassword', cost: 5) %>
Run Code Online (Sandbox Code Playgroud)
使用基于bcrypt的密码时has_secure_password.正如评论中提到的那样,cost参数是可选的.如果您不使用它,将使用合理的默认值.
Bru*_*gia -3
我通过模型测试的设置功能解决了这个问题。我们可以在setup中定义对象并通过测试文件使用它。
def setup
@user = User.new
@user.name = 'Brunoid'
@user.email = 'brunoid@localhost'
@user.phone = '(01)2345-6789'
@user.cpf = '123.456.789-10'
@user.password = 'segamastersystem'
@user.password_confirmation = 'segamastersystem'
@user.card = Card.first
end
test 'must validate' do
assert @user.valid?
end
...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1508 次 |
| 最近记录: |