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,但接下来的代码完成工作:
- git clone https://github.com/codahale/bcrypt-ruby.gi%5Dt
- cd bcrypt-ruby
- gem build bcrypt.gemspec
- gem install gem-compiler
- gem编译bcrypt-3.1.11.gem
- 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
最后,重启服务器
希望能有所帮助