我正在尝试使用 RoR 创建以下基本结构。关键是所有用户还与学校和专业相关联。用户将根据他们的学校和专业撰写文章。链接不是排他性的:许多用户可以在许多学校之一,以及许多专业之一。但是,每个用户不能超过一所学校,也不能超过一个专业。最终,我希望能够根据以下内容显示帖子/过滤文章:
- X 专业和 Y 学校的所有用户
- Y学校的所有专业
- 所有拥有 X 专业的学校
我做了一些研究,不确定这是否正确...... (仍在学习)与 has_many 相比,我应该在下面使用 has_and_belongs_to_many 吗?
桌子
major_schools #(linking the two models below)
楷模
class School < ActiveRecord::Base
has_many :major_schools
has_many :majors, :through => :major_schools
end
class Major < ActiveRecord::Base
has_many :major_schools
has_many :schools, :through => major_schools
end
@school.majors #now gives a list of all the majors this school has
@major.schools #still gives a list of all schools that have this major
我需要做的是将用户模型与上述两个结合起来:
class User < ActiveRecord::Base
has_and_belongs_to_many :major_schools
end
而且我很卡住......如何将用户模型数据拉入上述模型?