rails ajouter une colonne à l'utilisateur modèle
J'ai de l'utilisateur modèle et je veux ajouter de l'unique chaîne de clé pour tous les utilisateurs.Nom de la colonne doit être unsubscribe_key.
Avant la migration l'enregistrement de l'utilisateur :
id = 1
username = "text"
id = 2
username = "abc"
Après la migration l'enregistrement de l'utilisateur :
id = 1
username = "text"
unsubscribe_key = "5HQdTSsNRY6YCodmzr"
id = 2
username = "abc"
unsubscribe_key = "Jlewfw0324Lwp0sefr"
- Et qu'avez-vous essayé jusqu'à présent?
Vous devez vous connecter pour publier un commentaire.
Bien, la partie la plus facile est l'ajout de la colonne. Sur la coque:
Aussi, vous aurez envie de faire de ce nouvel attribut accessible dans votre modèle d'utilisateur:
app/models/user.rb
Suivante, vous devez ajouter les clés uniques. Vous pourriez écrire un peu de code SQL pour cela, ou à créer un script ruby vous pouvez exécuter à l'intérieur de la console rails.
lib/add_unique_keys.rb
Maintenant revenir à la coquille et le type
rails console
. Sur le rubis de la ligne de commande:Si tout va bien, votre nouvelle colonne doit être rempli avec les chaînes aléatoires.
rake db:migrate
à partir de n'importe quel terminal et obtenir le même effet.Essayer
Puis
C'est la solution.
user.unsubscribe_key = ...
Dans les Rails 4.0 ajouter une seule colonne ou plusieurs colonnes à l'aide de solution de facilité..
https://gist.github.com/pyk/8569812