web-dev-qa-db-fra.com

Créez un utilisateur de périphérique à partir de la console Ruby

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.

140
Martin

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.

185
jspooner

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.

74
Sam Ritchie

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
27
akbarbin

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.

6
Flavio Wuensche

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.

2
Ezequiel Ramiro