149 votes

Spécification du nom de la colonne dans une migration "références".

Je veux faire un migration dans Rails, en référençant une autre table. Habituellement, je fais quelque chose comme :

add_column :post, :user, :references

Cela crée une colonne nommée user_id en posts table. Mais que se passe-t-il si, au lieu de user_id je veux quelque chose comme author_id ? Comment puis-je le faire ?

-3voto

sekmo Points 355

alias_attribut(nouveau_nom, ancien_nom) est très pratique. Il suffit de créer votre modèle et la relation :

rails g model Post title user:references

puis éditez le modèle et ajoutez un alias d'attribut avec

alias_attribute :author, :user

Après cela, vous serez en mesure d'exécuter des choses comme

Post.new(title: 'My beautiful story', author: User.first)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X