Sono nuovo alle rotaie e sto provando a impostare una relazione molti-a-molti nel mio progetto di rotaie. Ho una piccola strategia, ma non sono sicuro se è il modo corretto.Come avere relazione molti-a-molti in rotaie
Obiettivo: Ho una tabella di utenti e una tabella di gruppi. Gli utenti possono far parte di molti gruppi e ogni gruppo può avere molti utenti.
Strategia:
- Impostare la migrazione degli utenti ad avere nome: stringa
- Impostare la migrazione Gruppo ad avere nome: stringa
- Impostare una migrazione Registrati tavolo
- Impostazione utente modello tale che avrebbe has_and_belongs_to_many: groups
- Impostare il modello di gruppo in modo che avrebbe has_and_belongs_to_many: users
Questa è la strategia corretta? Grazie!
RailCast Sommario dalla risposta: Per coloro che sono interessati - RailCast suggerisce di usare un has_many: attraverso l'associazione dal momento che la strategia ha la limitazione che non è possibile aggiungere informazioni supplementari specifiche del rapporto di cui sopra.
check-out: http://kconrails.com/tag/has_many/
perché abbiamo: dependent =>: destroy per i raggruppamenti? – Karan
perché l'utente non sarà più nel gruppo se si elimina l'utente o il gruppo. – tmaximini
Perché non utilizzare la relazione ['has_and_belongs_to_many'] (http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association)? Semplificherebbe l'intero processo se non sono richiesti campi aggiuntivi nella tabella intermedia. – ferdynator