tutorial rails not espaƱol ejemplos could ruby-on-rails ruby devise

ruby-on-rails - rails - devise wiki



Crear un usuario de la consola Ruby (5)

¿Alguna idea sobre cómo crear y guardar un nuevo objeto de usuario con un diseño de la consola ruby?

Cuando traté de guardarlo, siempre estoy siendo falso. Creo que me falta algo, pero no puedo encontrar ninguna información relacionada.


Cuando en su modelo tiene: opción confirmable, esto significa que el usuario del objeto debe confirmar primero. Puedes hacer dos formas de salvar al usuario.

a. primero es la confirmación de omisión:

newuser = User.new({email: ''[email protected]'', password: ''password'', password_confirmation: ''password''}) newuser.skip_confirmation! newuser.save

segundo. o usa confirmar! :

newuser = User.new({email: ''[email protected]'', password: ''password'', password_confirmation: ''password''}) newuser.confirm! newuser.save


Deberías poder hacer esto usando

u = User.new(:email => "[email protected]", :password => ''password'', :password_confirmation => ''password'') u.save

si esto devuelve falso, puede llamar

u.errors

para ver lo que salió mal


Ninguna de las respuestas anteriores funcionó para mí.

Esto es lo que hice:

User.create(email: "[email protected]", password: "asdasd", password_confirmation: "asdasd")

Tenga en cuenta que la contraseña debe tener más de 6 caracteres.


Puede agregar información falsa al método guardar para omitir las validaciones si lo desea.

User.new({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)

De lo contrario, haría esto

User.create!({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })

Si tiene un módulo confirmable habilitado para diseñar, asegúrese de establecer el valor de Time.now en algo como Time.now mientras crea.


Si desea evitar el envío de correos electrónicos de confirmación , la mejor opción es:

u = User.new({ email: ''[email protected]'', password: ''12feijaocomarroz'', password_confirmation: ''12feijaocomarroz'' }) u.confirm! u.save

Entonces, si usa un correo electrónico falso o no tiene conexión a Internet, eso evitará errores.