我有很多机构和学校的团体模式。

class Group
  has_many :institutions
  has_many :schools
end

但是,我需要我的组拥有和属于多个:用户,但我希望通过这样的机构和学校关联的所有用户:
class Group
  has_many :institutions
  has_many :users, :through => :instiutions
  has_many :schools
  has_many :users, :through => :schools
end

class School
  belongs_to :group

  has_many :educations
  has_many :users, :through => :educations
end

class Institution
  belongs_to :group

  has_many :institutional_educations
  has_many :users, :through => :institutional_educations
end

显然这不可能,那我该怎么办?

最佳答案

您是否考虑过使用单表继承,使学校成为一种机构?
你的学校班级将继承自机构(“班级学校<机构”)另外,我想你可以称之为其他东西,但你也可以有“类GenericInstitution

10-09 20:32