Rails单表继承关系

时间:2018-04-06 12:08:33

标签: ruby-on-rails ruby-on-rails-4 relationship single-table-inheritance

我有一个教师模型,它继承自用户模型和一个单独的类模型。现在我需要在教师模型和班级模型之间建立many_to_many关系。

我怎么能这样做,我有点困惑?

1 个答案:

答案 0 :(得分:0)

请参阅http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association

您需要一个中间表来将教师映射到班级。

class Teacher < User
  has_many :teacher_classes
  has_many :classes, through: :teacher_classes
end

class TeacherClass < ApplicationRecord
  belongs_to :teacher
  belongs_to :class
end

class Class < ApplicationRecord
  has_many :teacher_classes
  has_many :teachers, through: :teacher_classes
end

您需要将Class更改为与内置红宝石Class不冲突的名称。