2017-02-22 65 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

我不明白你的建议 –