Ich bin neu bei Schienen und versuche, eine Viele-zu-viele-Beziehung in meinem Schienenprojekt einzurichten. Ich habe eine kleine Strategie, aber ich bin mir nicht sicher, ob es der richtige Weg ist.Wie viele-zu-viele-Beziehungen in Schienen haben
Ziel: Ich habe eine Tabelle von Benutzern und eine Tabelle von Gruppen. Benutzer können Teil vieler Gruppen sein, und jede Gruppe kann viele Benutzer haben.
Strategie:
- Teiln.einrichten Migration Namen haben: string
- Gruppe Migration einrichten Namen haben: string
- eine Migration Join-Tabelle
- einrichten Benutzer einrichten Modell so, dass es has_and_belongs_to_many hätte: Gruppen
- Richten Sie das Gruppenmodell so ein, dass es has_and_belongs_to_many: users hätte
Wäre dies die richtige Strategie? Vielen Dank!
Railcast Zusammenfassung von Antwort: Für diejenigen, die interessiert sind - Railcast empfiehlt Ihnen, eine has_many zu nutzen: durch die Verbindung, da die Strategie über die Begrenzung hat, dass Sie keine zusätzlichen Beziehung spezifische Informationen hinzufügen können.
Check-out: http://kconrails.com/tag/has_many/
Warum haben wir: dependent =>: für Gruppierungen zerstören? – Karan
, weil der Benutzer nicht mehr in der Gruppe ist, wenn Sie den Benutzer oder die Gruppe löschen. – tmaximini
Warum nicht die Beziehung ['has_and_belongs_to_many'] (http://guides.rubyonrails.org/association_basics.html#the-has-and-belongs-to-many-association) verwenden? Es würde den gesamten Prozess vereinfachen, wenn keine zusätzlichen Felder in der Zwischentabelle erforderlich sind. – ferdynator