J'essaie de prélever tous les comptes de congise à l'avance en utilisant Rake DB: graine. Les données de tous les autres modèles semblent être insérées dans la base de données, mais pour une raison quelconque, aucune ligne n'est créée pour le modèle de personne qui utilise le concept. L'inscription à partir de l'interface Web fonctionne bien, mais je veux éviter de créer des comptes manuellement, c'est la raison pour laquelle j'utilise Rake DB: graine. J'ai copié Crypted_password, mot de passe_salt à partir d'un compte créé via une interface Web. S'il vous plaît laissez-moi savoir comment se déplacer cela? Merci beaucoup ..
people = Person.create( :email => 'nnn@gmail.com', :encrypted_password => '$2a$10$SyacAOhJQtVeTcTPYm.ROuFbhGMylfj4fLrK3NHyeRwfEokKp2NVW', :password_salt => '$2a$10$SyacAOhJQtVeTcTPYm.ROu', :first_name => "nnn", :last_name => "yyy" ) in routes.rb i have. devise_for :people
3 Réponses :
J'ai fait cela en utilisant le congé dans le passé. Je n'ai pas essayé de définir le mot de passe crypté et le sel de cette façon. Je viens de définir le mot de passe et la confirmation de quelque chose comme ceci (je n'ai pas de projet pratique): essayez ça. P> p>
Très probablement La méthode "Créer" échoue tranquillement en raison de la validation du modèle et renvoie donc de faux. Vous auriez étendu les erreurs si vous avez utilisé "Créer!" méthode à la place ( avec exclamation em>) - Cette méthode soulève l'exception si la validation échoue. P>
La raison probable de l'échec de la validation dans votre cas est que ( par défaut par défaut pour le développement em>) la longueur minimale du mot de passe est de 6 caractères et que vous n'allageez pas du tout mot de passe. P>
Si vous ne voulez pas de duplicats lors de l'exécution de Rake DB: graine plusieurs fois:
User.create( email: email, password: password, password_confirmation: password ) unless User.where(email: email).exists?
BTW, cette méthode d'ensemencement des utilisateurs n'est pas très efficace, car pour chaque utilisateur concevoir des vérifications s'il existe un utilisateur avec cet e-mail déjà (une requête séparée) et les problèmes une requête d'insertion distincte - cela fonctionne vraiment lentement pour moi. Je suis actuellement à la recherche de meilleures solutions. J'ai besoin d'environ 100 000 utilisations semées pour les tests ...