ruby-on-rails - password - devise rails español
Diseñar restablecimiento de contraseña desde la consola Rails (8)
Mientras ejecuta una aplicación, ¿cómo selecciona un usuario por dirección de correo electrónico y luego establece la contraseña manualmente en la rails console
para Devise?
Además, ¿a dónde iría para revisar la documentación para cubrir más detalles al respecto de la manipulación de cuentas durante el uso de Devise?
1.Inicie sesión en la consola de ralis
$ sudo bundle exec rails console production
2. Luego actualiza la contraseña del administrador
irb(main):001:0> user = User.where("username = ''root''")
irb(main):002:0> u = user.first
irb(main):003:0> u.password="root2014@Robin"
=> "root2014@Robin"
irb(main):004:0> u.password_confirmation="root2014@Robin"
=> "root2014@Robin"
irb(main):005:0> u.save
=> true
irb(main):006:0> exit
3.Refresque la página de inicio de sesión, use la nueva contraseña para iniciar sesión, ¡disfrútelo!
¡Buena suerte!
Es más o menos como describes :-)
# use mongoid
class User
include Mongoid::Document
end
# then
user = User.where(email: ''[email protected]'').first
if user
user.password = new_password
user.password_confirmation = new_password
user.save
end
Actualización de 6 años después :)
El diseño moderno permite una sintaxis más simple, sin necesidad de establecer el campo de confirmación
user.password = new_password; user.save
# or
user.update_attributes(password: new_password)
Por alguna razón, (Rails 2.3 ??)
user = User.where(:email => email).first
no funcionó para mí, pero
user = User.find_by_email(''[email protected]'')
lo hizo.
Si ejecuta lo siguiente en la consola de rieles, debería hacer el truco:
User.find_by(email: ''user_email_address'').reset_password!(''new_password'',''new_password'')
http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Recoverable
Si su cuenta está bloqueada debido a demasiados intentos de inicio de sesión, es posible que también deba hacer lo siguiente:
user.locked_at = ''''
user.failed_attempts = ''0''
user.save!
Simplemente puede actualizar el campo de contraseña, sin necesidad de contraseña de confirmación, el dispositivo lo guardará en forma encriptada
u = User.find_by_email(''[email protected]'')
u.update_attribute(:password, ''123123'')
# $ rails console production
u=User.where(:email => ''[email protected]'').first
u.password=''userpassword''
u.password_confirmation=''userpassword''
u.save!
User.find_by_email(''[email protected]'').update_attributes(:password => ''password'')