Comment puis-je décrire une énumération de colonne dans Rails 3 de la migration?
Comment puis-je décrire une énumération de colonne dans Rails 3 de la migration?
Vous devez vous connecter pour publier un commentaire.
Comment puis-je décrire une énumération de colonne dans Rails 3 de la migration?
Vous devez vous connecter pour publier un commentaire.
Rails 4.1 contient enum pour l'instant!
Vous pouvez écrire tout
Pour les migrations écrire
Rails 3 & 4.0
Meilleure solution à mon avis est simple_enum gem.
simple_enum
gem fonctionne de la même façon. Voir mise à jour de réponseDans Rails 3 de la Migration, vous pouvez effectuer les opérations suivantes:
Cela va créer la table avec la seule colonne "foobar" et les valeurs.
Vous pouvez décrire une énumération colonne avec:
J'ai créé le type enum avec:
L'inspection de la base de données:
Quelque chose comme
J'aime enumerated_attribute gem: https://github.com/jeffp/enumerated_attribute
Facile enum pour vos maquettes, d'objets et de points de vue.
Fonctionne très bien avec les rails 3.1
Cela fonctionnera également....
add_column :table_name, :column_name, "enum('abc','def','ghi')", :default => 'abc'
Je vais utiliser le enum_fu gem: https://github.com/ikspres/enum_fu
Ce qui a fonctionné pour moi a été de mappage de symboles pour les entiers
Mais pour le contrôleur de la carte à nouveau comme ceci:
Note le .to_sym qui remplace la première création de l'objet (dans mon cas c'était des coupons).
Maintenant, vous pouvez l'utiliser comme ceci:
.with_indifferent_access
à laTYPE_MAP
pour permettre la chaîne d'accèsOnt un coup d'oeil à active_enum.
Je pense qu'il s'adapte à vos besoins.
Utilisation enum_column pour ajouter la prise en charge des énumérations d'active record
https://github.com/mdsol/enum_column