ciao a tutti, ho una serie di modelli activerecord così strutturati A has_many B B belongs_to A has_many C C belongs_to B has_many D ora, il problema è questo: sto cercando un metodo per accedere direttamente ad A, sia che mi trovi in D, che in C che in B; insomma, un qualcosa tipo C.root. Deve essere una cosa "universale" per tutti i modelli, insomma, non voglio dover scrivere un metodo diverso per ogni modello usando D.C.B.A etc... è possibile questo? ciao, stefano
on 12.08.2008 09:14
on 12.08.2008 10:05
On Tue, Aug 12, 2008 at 9:13 AM, Stefano Sasso <stesasso@gmail.com> wrote: > ora, il problema è questo: > sto cercando un metodo per accedere direttamente ad A, sia che mi > trovi in D, che in C che in B; insomma, un qualcosa tipo C.root. > Deve essere una cosa "universale" per tutti i modelli, insomma, non > voglio dover scrivere un metodo diverso per ogni modello usando > D.C.B.A etc... mi trovo in una situazione molto simile: ho uno schema db abbastanza complesso, e nel mio caso la "radice" è l'azienda (modello Company), nel senso che ogni utente deve accedere solo agli oggetti della propria azienda, personalmente ho optato per la duplicazione, cioè ho messo un campo company_id in molte tabelle, sebbene in teoria sarebbe bastato metterlo in una sola tabella, ma in quel caso tutte le mie query sarebbero state complessissime.
on 12.08.2008 10:32
2008/8/12 Pietro Giorgianni <giorgian@gmail.com>: > personalmente ho optato per la duplicazione, cioè ho messo un campo > company_id in molte tabelle, sebbene in teoria sarebbe bastato > metterlo in una sola tabella, ma in quel caso tutte le mie query > sarebbero state complessissime. non mi ispira molto questa soluzione, per il momento ho creato un metodo root in tutti i modelli, con, ad esempio D: def root c.b.a.id end C: def root b.a.id end B: def root a.id end ma sarebbe molto meglio se ci fosse un modo per evitare tutto questo... ciao, stefano -- --------------------------------------------------------------- Per favore non mandate allegati in Word o PowerPoint. Si veda http://www.fsf.org/philosophy/no-word-attachments.html