2015-08-14 71 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'