我將應用程序中的身份驗證升級爲使用Rails 3.1的has_secure_password設施。在這個過程中,我創建了一個頁面以允許用戶更改他們的密碼。我測試了它,它在我的開發機器上工作,無論是在開發環境還是在生產環境中。Rails 3.2 has_secure_password在部署到Heroku時無提示失敗
當我將應用程序部署到Heroku時,我去嘗試它,它似乎工作,除非當我註銷並重新登錄時,我的密碼未更改。我試着在控制檯中手動更改密碼,並且工作正常。如果我嘗試輸入不同的密碼和確認文本,它會顯示它應該進行的驗證,這意味着密碼正確發送到應用程序。
下面是相關更改我的控制器:https://github.com/mjm/sis-lunch/commit/930ced467a0e23ad48f4497999183112c5f846b1#diff-2
有我丟失的東西?在Heroku的製作過程中可能會出現什麼問題,可能會導致這種情況悄然失敗?
您確定嗎?該代碼僅使password_digest受保護,而不是密碼,並且我能夠登錄到生產控制檯並通過attributes =分配這些屬性。 – 2012-01-28 05:54:24
啊,不,你說得對。當我比較我的筆記時,我忽略了attr_accessible。回到繪圖板... – fixlr 2012-01-28 06:20:39
我真的回答了我自己的問題,事實證明,我只需在遷移後重新啓動應用程序。 – 2012-01-28 16:58:26