Ciao a tutti,
essendo abituato a modellare utilizzando il modello E/R, mi imbatto
spesso in relazioni ternarie e le traduco con una nuova tabella
associativa che contiene le chiavi delle entità in relazione …;
volevo chiedere se c’è un modo per tradurre questo tipo di relazione
anche in rails; se si, mi potreste dire dove posso vedere alcuni esempi
?
Grazie a tutti.
Luigi
Il giorno 15/gen/09, alle ore 12:58, Luigi M. ha scritto:
se hai una tabella associativa chiamata assocs con
user_id
role_id
project_id
dove tutto puo’ succedere (cioe’ lo user puo’ avere diversi ruoli in
differenti progetti etc…)
penso che l’unica sia usare due
has_many :projects :through => :assocs
has_many :roles :through => :assocs
has_many :assocs
e quindi definire un paio di funzione helpers nei modelli tipo (per
lo user):
def roles_in_project(project):
Assoc.find(:all, :conditions => [“project_id = ? and user_id = ?”,
project.id, self.id)
end
etc. etc.
altrimenti potresti definire due tabelle associative (una con tutte
le coppie project, role ed una chiave primaria, ed una che associa
questa allo user_id) e usare quindi has_and_belongs_to_many
Ti avviso che la mia risposta e’ solo indicativa. Non mi sono mai
trovato in questa circostanza o se mi sono trovato non l’ho
affrontata riflettendoci molto a fondo.
Ciao