2017-02-22 101 views
1

我在我的項目中有2個模型之間有多對多的關聯,但是想指定它們之間的關聯類型。多對多關係中的關係類型

這樣的事情:我們有教師和教室,每個教師有很多教室,每個教室有很多教師,如果我們想要使用Trough,我們可以創建一個關係教學。

例如老師是教數學的一個教室和同一個老師教物理到另一個教室,有沒有辦法做這樣的事情在activerecord,如果有很多方法來做到這一點,這是最好的方式去?

編輯: 這個方法我試過,我不知道這是否是最好的做法:

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 

我的想法是不是使用教學:我會用ohter模型(例如:數學,物理..)這將繼續從教學模型 如果我可以添加類型教學協會(關聯表上使用STI)?我該如何執行它?或者我只是添加一個屬性教學和手動設置而不是使用STI?這是最好的辦法嗎?

回答

0

聽起來像你可以使用另一個名爲主題的表。這將允許一個報告顯示哪個教師(teacher_id)在哪個教室(classroom_id)教授哪個科目。

+0

我不明白你的建議 –