我一直在尝试为我的应用程序创建一个管理员帐户,但是当我以“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
应用程序 Controller
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'
。
关于ruby-on-rails - BCrypt 无效哈希 : Can't create an admin user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32019719/