未初始化的常量User :: BCrypt(与版本相关?)

Wyl*_*udd 2 ruby-on-rails bcrypt

我收到错误“未初始化的常量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
Run Code Online (Sandbox Code Playgroud)

Sha*_*ani 5

从我所看到的我看不到您的用户模型中需要“ bcrypt”

require 'bcrypt'
class User < ActiveRecord::Base
 ...
end
Run Code Online (Sandbox Code Playgroud)