我的项目中有2个模型之间存在多对多的关联,但是想要指定它们之间的关联类型。
这样的事情:我们有教师和教室,每个教师都有很多教室,每个教室都有很多教师,如果我们想要使用Trough,我们可以创建一个关系教学。
例如,教师正在教授数学课堂和同一位教师将物理教学用于另一个课堂,有没有办法在积极的记录中做这样的事情,如果有很多方法可以做到这一点,那就是最好的怎么样?编辑: 我试过这种方法,我不知道这是不是最好的做法:
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
我的想法不是使用教学:我将使用从教学模型继承的欧特模型(例如:数学,物理......) 如果可以在教学关联上添加类型(在关联表上使用STI)?我该如何实现它?或者我只是在Teaching中添加一个属性并手动设置而不是使用STI?这是最好的办法吗?
答案 0 :(得分:0)
听起来你可以使用另一个名为subject的表。这将允许一个报告,显示哪个教师(teacher_id)在哪个教室(classroom_id)教授哪个科目。