2014-11-08 52 views
1

我评论过的一切了我的模型的不同之处:has_secure_password不加密password_digest Ruby on Rails的

has_secure_password 

和我迁移我已经加入:

t.string "password_digest" 

到我的用户数据库。

当我创建的轨道控制台的用户,并尝试但保存它,密码不加密。它在我的数据库中显示为我输入的密码。有人可以告诉我如何获得has_secure_password来加密我的密码吗?我错过了一些简单的东西吗我安装了bcrypt gem。

+0

回答自己的问题是好的。为获胜而自学。正确地做:写一个答案(以及你如何找到它)并接受它。 – 2014-11-08 16:41:28

回答

6

是。对于这篇文章来的其他人,并不确定你的意思。

当您添加has_secure_password到模型中你不指定密码password_digest

你把它分配给密码

,它会自动添加一个名为一个虚拟属性密码。当你分配一个值密码,它会加密并保存到password_digest

0

回答说:我需要使用虚拟密码属性不是password_digest属性

0

万一别人送过来一个不同的问题。我们试图与Ember使用这个(点菜http://www.thegreatcodeadventure.com/jwt-authentication-with-rails-ember-part-i-rails-knock/),我们的问题是(几乎相同的如上文所述的应答者),我们加入passwordDigest我们烬的数据模型(所以我们基本上是分配给password_digest而非password,但烬数据做代表我们,所以我们没有从上面的答案)在第一次意识到这一点。