2010-04-13 8 views
1

J'ai deux modèles, Modela et Modelb. Modela ne peut posséder qu'un seul Modelb, mais Modelb peut faire partie de nombreux Modela.Rails Relation modèle: A un mais appartient aussi à beaucoup

Ce que j'ai en ce moment est

class Modela < ActiveRecord::Base 
    has_one :modelb 
end 

class Modelb < ActiveRecord::Base 
    belongs_to :modela, :foreign_key => "modela_id" #might not make sense? 
end 

Pas trop sûr de l'ensemble: chose foreign_key je faisais là, mais il est là, il était quand je l'ai laissé. Comme j'essaye de permettre à Modelb de faire partie de beaucoup de Modela, je ne veux pas ajouter un champ modela_id à la table Modelb.

Quelle est la meilleure façon de faire cela?

Répondre

3

Il devrait être:

class Modela 
    belongs_to :modelb 
end 

class Modelb 
    has_many :modela 
end 

et table modelas doit contenir la colonne modelb_id.

+0

Merci, j'étais en train d'essayer ça! – Lowgain

Questions connexes