2015-08-14 49 views
2

我一直在尝试为我的应用创建管理员帐户,但是当我以“管理员”身份登录时,我收到BCrypt无效哈希错误。它为我在种子文件中创建的每个用户都做到了。当用户通过我的应用程序的注册表单创建时,它就可以工作。我已经采取了一切措施来实现它的工作,而这只是没有发生。我遇到了这个问题的砖墙。我需要有人指引我走向正确的方向。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 
+0

尝试从控制台'rails c'创建一个用户,并显示你得到的错误。 –

回答

3

也试试这个:

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

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