web-dev-qa-db-fra.com

Rails générer l'association has_many

Existe-t-il un moyen de générer l'association has_many pour une colonne en utilisant Rails generate scaffold commande dans la console?

Je sais belongs_to est disponible et il existe des cas d'utilisation de references mais pas sûr de has_many

36

Il n'y a pas de colonne pour une relation has_many. Un belongs_to Est soutenu par une colonne qui contient une clé étrangère.

Donc, si vous générez un échafaudage: Rails g scaffold Post

Et puis vous générez un autre échafaudage: Rails g scaffold Comment post:references

Ensuite Rails créera une migration qui ajoute une colonne nommée post_id À la table Comment et crée un index dessus. Pour les deux tables, il crée des contraintes de clé étrangère entre comments(post_id) et posts(id). Rails ajoutera également belongs_to :post dans le modèle de commentaire.

À tout moment, vous pouvez ajouter un has_many À un modèle tant qu'un autre modèle belongs_to Est le premier modèle et a une migration avec la colonne de clé étrangère.

70
Alex Peachey