1

我是 Rails 初学者。当我尝试使用 gem bcrypt 时,我在屏幕上看到一个错误“无法加载此类文件 - bcrypt”控件卡在模型的“has_secure_password”行。

服务器日志

LoadError (cannot load such file -- bcrypt):

app/models/user.rb:3:in `<class:User>'
app/models/user.rb:1:in `<top (required)>'
app/controllers/users_controller.rb:4:in `new'
Started GET "/signup" for 127.0.0.1 at 2018-02-18 15:03:08 +0530
Processing by UsersController#new as HTML
You don't have bcrypt installed in your application. Please add it to your Gemfile and run bundle install
Completed 500 Internal Server Error in 22ms (ActiveRecord: 0.0ms)



LoadError (cannot load such file -- bcrypt):

app/models/user.rb:3:in `<class:User>'
app/models/user.rb:1:in `<top (required)>'
app/controllers/users_controller.rb:4:in `new'

宝石文件

#gem 'bcrypt-ruby', '3.1.5', :require => 'bcrypt'
gem 'bcrypt', '~> 3.1.7'

我已经使用上述两种宝石一次执行一个。即使查看了许多博客和网站,我也找不到解决方案。

我可以毫无问题地启动我的 Rails 服务器,但无法在浏览器中打开我的视图。

有人可以帮忙吗。

4

1 回答 1

0

如果您使用 Windows,请按照以下步骤操作

运行此卸载

gem uninstall bcrypt
gem uninstall bcrypt-ruby

然后安装使用

gem install bcrypt --platform=ruby

如果您使用,devise则无需添加gem 'bcrypt', '~> 3.1.7'Gemfile,因为它包含devisegem

否则,将此 gem 添加到您的 gem 文件中,无需运行包安装或更新

毕竟这一切不要忘记重新启动您的服务器。

希望能帮助到你

于 2018-02-18T11:34:57.013 回答