当我向模型添加has_secure_password(继承自ActiveRecord :: Base)时,会发生错误,指出“bcrypt-
ruby不是bundle的一部分”.
这里的日志是:
Started GET "/users" for 127.0.0.1 at 2012-02-19 16:37:12 +0900 Gem::LoadError (bcrypt-ruby is not part of the bundle. Add it to Gemfile.): app/models/user.rb:3:in `<class:User>' app/models/user.rb:1:in `<top (required)>' app/controllers/users_controller.rb:1:in `<top (required)>'
我安装了bcrypt-ruby
$gem install bcrypt-ruby Building native extensions. This could take a while... 1 gem installed Installing YARD (yri) index for bcrypt-ruby-3.0.1... Installing RDoc documentation for bcrypt-ruby-3.0.1...
但没有效果.
我试过了
$bundle exec rails server
但没有帮助.
如果我注释掉“has_secure_password”行,这个错误不会出来.
如何解决这个问题?
解决方法
@H_502_25@ 消息说,您需要将bcrypt-ruby添加到您的Gemfile(在项目的根目录).gem "bcrypt-ruby"
然后运行捆绑安装应该做的伎俩(如果你还没有安装它将获取宝石).
您可以指定特定的版本,例如
gem "bcrypt-ruby","~> 3.0.1"
将会获得最新版本,这个版本是> = 3.0.1但小于3.1.您可以这样做,如果3.0.1有一个错误修复,你依赖,你很高兴得到更多的错误修复,但你不想要重大的变化.在bundler网站上有更多的信息.