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.

0
Rafael 14 ene. 2018 a las 00:21

3 respuestas

La mejor respuesta

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:

  1. git clone https://github.com/codahale/bcrypt-ruby.gi ] t
  2. cd bcrypt-ruby
  3. construcción de gemas bcrypt.gemspec
  4. gem install gem-compiler
  5. compilación de gemas bcrypt-3.1.11.gem
  6. gem install bcrypt-3.1.11-x86-mingw32.gem --local

Gracias a todos por intentar ayudarme.

0
Rafael 14 ene. 2018 a las 11:44

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

0
fool-dev 14 ene. 2018 a las 11:53

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.

0
Edward 13 ene. 2018 a las 22:17