Estoy tratando de crear una autenticación simple en Ruby on Rails.
Actualmente estoy atascado, porque después de crear una tabla en la base de datos y agregar el modelo has_secure_password
obtengo el error LoadError: cannot load such file -- bcrypt
.
El error ocurre cuando intento en rails console
usando el comando básico: User.all
.
He visto muchas soluciones, pero nada me ayudó.
Actualmente he instalado bcrypt desde https://github.com/codahale/bcrypt-ruby.git
pero todavía no funciona.
Gracias de antemano por su ayuda.
3 respuestas
No sé por qué, pero nada me ayudó.
Finalmente usé idear gema en lugar de hacer la autenticación yo mismo.
Diseñe la gema también usando bcrypt, pero luego el código a continuación hace el trabajo:
- git clone https://github.com/codahale/bcrypt-ruby.gi ] t
- cd bcrypt-ruby
- construcción de gemas bcrypt.gemspec
- gem install gem-compiler
- compilación de gemas bcrypt-3.1.11.gem
- gem install bcrypt-3.1.11-x86-mingw32.gem --local
Gracias a todos por intentar ayudarme.
En windows 10
resolví esto siguiendo estos pasos
Paso 1.
gem uninstall bcrypt
gem uninstall bcrypt-ruby
Paso 2
gem install bcrypt --platform=ruby
Paso 3
Añadir a su Gemfile
gem 'bcrypt', platforms: :ruby
idear
Si usa idear, entonces no necesita agregar gema bcrypt en su archivo de gemas, siga los pasos a continuación
gem uninstall bcrypt
gem install bcrypt --platform=ruby
Finalmente, reinicie su servidor
Espero ayudar
Si está utilizando Rails 4+, has_secure_password
ya no se envía por defecto, y tendrá que incluir la gema bcrypt
en su Gemfile:
gem 'bcrypt'
Ejecute bundler nuevamente:
> bundle install
Luego reinicie su servidor:
> bundle exec rails s
Puede encontrar más información aquí: http://api.rubyonrails.org/classes /ActiveModel/SecurePassword/ClassMethods.html
Espero que esto ayude.
Nuevas preguntas
ruby-on-rails
Ruby on Rails es un marco de aplicación web full-stack de código abierto escrito en Ruby. Sigue el popular modelo de marco MVC y es conocido por su enfoque de "convención sobre configuración" para el desarrollo de aplicaciones.