2012-03-06 39 views
3

我在一個新的應用程序中使用has_secure_password,它在本地運行良好。然而,當我部署到我們的服務器,並嘗試運行它,我收到以下錯誤信息:如何讓has_secure_password在生產環境中工作?

未定義的局部變量或方法`has_secure_password」的 WorkerLogin:類

我做了bundle install和一切,所以我不知道缺少什麼。我使用紅寶石1.9.2p290,但我不認爲這會是問題。

想法?

+0

您可以在檢查bcrypt-ruby gem之後提供WorkingLogin類以及您使用的rails版本嗎?如下面的答案所述。 – erickzetta 2012-03-06 18:24:52

+0

我討厭它,當我問一個問題,然後意識到這是因爲我自己的愚蠢,沒有人可能知道解決方案。 – 2012-03-06 19:00:38

回答

2

在Gemfile中取消註釋或添加以下行:

gem 'bcrypt-ruby', '~> 3.0.0' 

和運行捆綁安裝

+0

我最終想出了自己的問題,但這對於使用SecurePassword的其他人來說是一個很好的提示。謝謝。 – 2012-03-06 18:50:20

4

我終於認識到自己沒有我的最新代碼推到GitHub上然而,當我做了Capistrano的部署。我已將include ActiveModel::SecurePassword添加到我的WorkerLogin類中,但未檢入。此行是必需的,因爲我使用的是MongoDB/MongoMapper,它不像ActiveRecord那樣自動包含ActiveModel::SecurePassword

相關問題