2017-02-22 4 views
1

Ich habe viele zu viele Assoziation zwischen 2 Modellen in meinem Projekt, aber möchte Art der Zuordnung zwischen ihnen angeben.Art der Beziehung in vielen zu vielen Assoziation

so etwas wie das: Wir haben Lehrer und Klassenzimmer, jeder Lehrer hat viele Klassenzimmer und jedes Klassenzimmer hat viele Lehrer, wir können eine Beziehung Lehre schaffen, wenn wir Trough verwenden wollen.

für Beispiel ein Lehrer unterrichtet Mathematik zu einem Klassenzimmer und der gleiche Lehrer unterrichtet Physik zu einem anderen Klassenzimmer, gibt es eine Weise, so etwas im activerecord zu tun, und wenn es viele Weisen gibt, das zu tun, der ist beste Art zu gehen?

edit: ich diese Methode versucht, und ich weiß nicht, ob es die beste Praxis ist:

Class Teacher < ActiveRecord::Base 
    has_many :classrooms, through: :teachings 
    end 

    Class Teaching < ActiveRecord::Base 
    belongs_to :teachers 
    belongs_to :classrooms 
    end 

    Class Classroom < ActiveRecord::Base 
    has_many :teachers, through: :teachings 
    end 

meine Idee anstelle von Unterricht ist: i ohter Modelle verwenden werden (zB: Math, Physic ..) Wich erben von Teaching Model Wenn kann ich Typ auf Teaching Association hinzufügen (mit STI auf Zuordnungstabelle)? und wie kann ich es umsetzen? Oder ich füge einfach ein Attribut zu Teaching hinzu und setze es manuell anstelle von STI? Was ist der beste Weg zu tun?

Antwort

0

klingt wie Sie könnten eine andere Tabelle namens Fächer verwenden. Dies würde einen Bericht ermöglichen, der zeigt, welcher Lehrer (Lehrer_ID) in welchem ​​Klassenzimmer (Klassenzimmer_ID) welches Fach unterrichtet.

+0

ich verstehe nicht sehr gut Ihre Beratung –

Verwandte Themen