【发布时间】:2016-04-30 19:57:11
【问题描述】:
我收到错误“未初始化的常量 User::BCrypt”。
我检查了这个问题:https://github.com/ryanb/nifty-generators/issues/68
捆绑安装的建议解决方案不起作用(当然,我经常捆绑安装)。
我检查了这个问题:https://github.com/codahale/bcrypt-ruby/issues/89
将 gem 更改为 'bcrypt-ruby' 而不仅仅是 'bcrypt' 的建议解决方案确实会将我的 gem 更新到较新的版本,但不能解决问题。
这是我的用户模型
class User < ActiveRecord::Base
validates :username, :password_digest, :session_token, presence: true
validates :session_token, uniqueness: true
attr_reader :password
def self.find_by_credentials(username, password)
user = User.find_by_username(username)
user.try(:valid_password?, password) ? user : nil
end
def valid_password?(password)
BCrypt::Password.new(self.password_digest).is_password?(password)
end
def password=(password)
@password = password
self.password_digest = BCrypt::Password.create(password)
end
def reset_session_token
self.session_token = SecureRandom.urlsafe_base64
self.save!
self.session_token
end
end
【问题讨论】:
-
请按照 codahale/bcrypt-ruby#89 上的建议将您的 bcrypt-ruby 更新到 3.1.5。
标签: ruby-on-rails bcrypt