Ternarie in rails?


#1

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


#2

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