【问题标题】:type of relation in many to many association多对多关联中的关系类型
【发布时间】:2017-02-22 14:50:43
【问题描述】:

我的项目中的 2 个模型之间存在多对多关联,但想指定它们之间的关联类型。

类似这样:我们有 Teachers et Classrooms,每个 Teachers 有很多 Classrooms,每个 Classroom 有很多 Teachers,如果我们想使用 Trough,我们可以创建一个关系 Teaching。

例如,一位老师在一个教室教数学,而同一位老师在另一个教室教物理,有没有办法在 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

我的想法不是使用教学:我将使用继承自教学模型的其他模型(例如:数学、物理..) 我是否可以在教学关联中添加类型(在关联表上使用 STI)?我该如何实施?或者我只是向教学添加一个属性并手动设置它而不是使用 STI?最好的方法是什么?

【问题讨论】:

    标签: ruby-on-rails activerecord


    【解决方案1】:

    听起来您可以使用另一个名为 subject 的表。这将允许报告显示哪个教师 (teacher_id) 在哪个教室 (classroom_id) 教授哪个科目。

    【讨论】:

    • 我不太明白你的建议
    猜你喜欢
    • 1970-01-01
    • 2017-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 2021-11-05
    • 1970-01-01
    相关资源
    最近更新 更多