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
.
不冲突的名称
我有一个继承自用户模型的教师模型和一个单独的 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
.