我遵循这个 railscast 并构建了一个简单的身份验证架构,该架构在开发中表现出色:http ://railscasts.com/episodes/250-authentication-from-scratch
现在,在部署到 heroku 后,创建新用户时出现错误。
日志:
2013-07-22T20:03:07.688326+00:00 app[web.1]: NoMethodError (undefined method `password_salt=' for #<User:0x00000005ca3050>):
2013-07-22T20:03:07.792383+00:00 app[web.1]: app/models/user.rb:16:in `encrypt_password'
2013-07-22T20:03:07.898375+00:00 app[web.1]: app/controllers/users_controller.rb:24:in `create'
在我的用户模型中,这种方法是:
def encrypt_password
if password.present?
self.password_salt = BCrypt::Engine.generate_salt
self.password_hash = BCrypt::Engine.hash_secret(password, password_salt)
end
end
宝石文件:
gem 'bcrypt-ruby', :require => "bcrypt"
bundle install 在heroku上成功运行,gem已安装
不知道这里出了什么问题,有什么想法吗?
谢谢