2010-09-09 9 views
0

Si j'ai deux modèles. Model1 appartient à Model2 et Model2 à Model1. Ainsi, je peux accéder à Model2 à partir de Model1 ainsi que Model1 à partir de Model2. Maintenant, ma question est, puis-je changer la relation à Model2 appartient à Model1 et Model1 a_one Model2? Il peut également me laisser traverser de Model1 à Model2 et de Model2 à Model1. Je ne suis pas sûr de cela, n'importe qui peut l'expliquer s'il vous plaît?Dans les modèles Rails, puis-je modifier belongs_to à has_one et has_one à belongs_to?

Merci.

Répondre

2

Vous pouvez certainement changer une relation d'un sens à l'autre.

Vous aurez besoin évidemment d'ajouter une colonne model_1_id sur la table model_two, migrer toutes les associations existantes à travers et enlever la colonne model_2_id sur la table model_one.

Je ne peux pas penser à autre chose que vous auriez particulièrement besoin de faire pour le faire fonctionner. Les associations se comportent à peu près de la même manière lorsque belongs_to est associé à has_one.

Questions connexes