Rails单-table继承关系

Rails single-table inheritance relationships

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

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

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

您需要中级 table 才能将教师映射到 类。

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 更改为与内置 ruby Class.

不冲突的名称