2014-11-08 88 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,但燼數據做代表我們,所以我們沒有從上面的答案)在第一次意識到這一點。