BCrypt 无效哈希:无法创建管理员用户

BCrypt Invalid Hash: Can't create an admin user

我一直在尝试为我的应用程序创建一个管理员帐户,但是当我以 'admin' 身份登录时,我收到了 BCrypt 无效哈希错误。它为我在种子文件中创建的每个用户执行此操作。当用户是通过我的应用程序的注册表单创建时,它就可以工作。我已采取一切措施让它发挥作用,但就是没有发生。我遇到了这个问题。我需要有人为我指出正确的方向。

种子文件

Player.create({user_name:'caddyshack3', score: 0, password_digest:'corinacorina' })
Player.create({user_name:'maryjane9', score: 0, password_digest: 'nicety'})
Player.create({user_name:'admin', score: 0, password_digest:'9905', role:'admin'})

玩家模特

class Player < ActiveRecord::Base
has_secure_password

def admin?
    self.admin == 'admin'
end

end

应用程序控制器

  class ApplicationController < ActionController::Base

  protect_from_forgery with: :null_session

  helper_method :current_player

  def current_player
  @current_player ||= Player.find(session[:player_id]) if  session[:player_id]
  end

  def require_player
redirect_to '/login' unless current_player
  end

def require_admin
end
end

也试试这个:

Player.create({user_name:'caddyshack3', score: 0, password_digest: BCrypt::Password.create("corinacorina") })    

确保您已安装 gem 'bcrypt', '~> 3.1.7'