Toute idée sur la façon de créer et de sauvegarder un nouvel objet Utilisateur avec un élément de la console Ruby?
Quand j'ai essayé de le sauver, je deviens toujours faux. Je suppose qu'il me manque quelque chose, mais je suis incapable de trouver des informations connexes.
Vous pouvez ajouter false à la méthode de sauvegarde pour ignorer les validations si vous le souhaitez.
User.new({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" }).save(false)
Sinon je ferais ça
User.create!({:email => "[email protected]", :roles => ["admin"], :password => "111111", :password_confirmation => "111111" })
Si vous avez activé le module confirmable
, assurez-vous de définir le paramètre confirmed_at
valeur à quelque chose comme Time.now
en créant.
Vous devriez pouvoir le faire en utilisant
u = User.new(:email => "[email protected]", :password => 'password', :password_confirmation => 'password')
u.save
si cela retourne faux, vous pouvez appeler
u.errors
pour voir ce qui ne va pas.
Lorsque votre modèle possède l'option: confirmable, cela signifie que l'utilisateur de l'objet doit d'abord être confirmé. Vous pouvez faire deux manières de sauver l'utilisateur.
une. d'abord, passez la confirmation:
newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.skip_confirmation!
newuser.save
b. ou utilisez confirmer! :
newuser = User.new({email: '[email protected]', password: 'password', password_confirmation: 'password'})
newuser.confirm!
newuser.save
Si vous voulez éviter d'envoyer des courriels de confirmation, le meilleur choix est:
u = User.new({
email: '[email protected]',
password: '12feijaocomarroz',
password_confirmation: '12feijaocomarroz'
})
u.confirm
u.save
Donc, si vous utilisez un faux courrier électronique ou n’avez pas de connexion Internet, vous éviterez les erreurs.
Aucune des réponses ci-dessus n'a fonctionné pour moi.
C'est ce que j'ai fait:
User.create(email: "[email protected]", password: "asdasd", password_confirmation: "asdasd")
N'oubliez pas que le mot de passe doit comporter plus de 6 caractères.