我在新应用程序中使用has_secure_password,它在本地运行良好。但是,当我部署到我们的服务器并尝试运行它时,我收到以下错误消息:
未定义的局部变量或方法`has_secure_password' WorkerLogin:类
我做了一个bundle install
和所有事情,所以我不确定缺少什么。我在ruby 1.9.2p290,但我认为那不是问题。
思想?
答案 0 :(得分:4)
我最终意识到当我进行Capistrano部署时,我没有将最新的代码推送到GitHub。我已将include ActiveModel::SecurePassword
添加到我的WorkerLogin类但未签入。此行是必需的,因为我使用的是MongoDB / MongoMapper,它不会像ActiveRecord那样自动包含ActiveModel::SecurePassword
。
答案 1 :(得分:2)
在Gemfile中取消注释或添加以下行:
gem 'bcrypt-ruby', '~> 3.0.0'
并运行bundle install