Rails has_secure_password无法加载此类文件–bcrypt

我正在尝试在Ruby on Rails中创建简单的身份validation。
我目前卡住了,因为在数据库中创建表并在模型中添加has_secure_password我收到错误LoadError: cannot load such file -- bcrypt
当我使用基本命令在rails console尝试时发生错误: User.all

我看过很多解决方案,但没有任何帮助。
目前我已经从https://github.com/codahale/bcrypt-ruby.git安装了bcrypt,但仍然无法正常工作。

预先感谢您的帮助。

如果您使用的是Rails 4+,则默认情况下不再提供has_secure_password ,您必须在Gemfile中包含bcrypt gem:

 gem 'bcrypt' 

再次运行bundler:

 > bundle install 

然后重启服务器:

 > bundle exec rails s 

更多信息可在此处找到: http : //api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html

希望这会有所帮助。

我不知道为什么但没有什么对我没有帮助。
最后我使用了devise gem而不是自己进行身份validation。
设计gem也使用bcrypt,但接下来的代码完成工作:

  1. git clone https://github.com/codahale/bcrypt-ruby.gi%5Dt
  2. cd bcrypt-ruby
  3. gem build bcrypt.gemspec
  4. gem install gem-compiler
  5. gem编译bcrypt-3.1.11.gem
  6. gem install bcrypt-3.1.11-x86-mingw32.gem –local

谢谢大家帮我。

windows 10 II上使用这个步骤解决了这个问题

步骤1。

 gem uninstall bcrypt gem uninstall bcrypt-ruby 

第2步

 gem install bcrypt --platform=ruby 

第3步

添加到您的Gemfile

 gem 'bcrypt', platforms: :ruby 

设计

如果您使用设计,则不需要在您的gem文件中添加bcrypt gem,请按照以下步骤操作

 gem uninstall bcrypt gem install bcrypt --platform=ruby 

最后,重启服务器

希望能有所帮助