我已经评论了我的模型中的所有内容,除了:
has_secure_password
我的迁移已添加:
t.string "password_digest"
到我的用户数据库。
当我在rails控制台中创建用户并尝试保存时,密码不会加密。它在我的数据库中显示为我输入的密码。有人可以告诉我如何让has_secure_password加密我的密码?我错过了一些简单的事吗?我安装了bcrypt gem。
答案 0 :(得分:8)
是。对于那些来自这篇文章并且不太确定你的意思的其他人。
您没有为 password_digest
指定密码您将其指定为密码
将 has_secure_password 添加到模型后,它会自动添加名为密码的虚拟属性。为密码分配值时,它将加密并保存到 password_digest 。
答案 1 :(得分:0)
解答:我需要使用虚拟密码属性而不是密码_digest属性
答案 2 :(得分:0)
如果有其他人带着不同的问题来到这里。我们试图将它与ember(àlahttp://www.thegreatcodeadventure.com/jwt-authentication-with-rails-ember-part-i-rails-knock/)一起使用,我们的问题(与上面指出的回答者几乎相同)我们将passwordDigest
添加到我们的ember数据模型中(所以我们基本上分配给password_digest
而不是password
,但是ember数据代表我们这样做,所以我们最初没有从上面的答案中意识到这一点。)
答案 3 :(得分:0)
t.string :password_digest
可能回滚您的迁移并将其放置在迁移文件中。我希望这有帮助。