在使用 Rails 3.2.15 的政治分析应用程序中,我有一个 Candidate 模型和一个 District 模型。这是我要建模的关系的细分:
- 候选人属于地区,因为他们在特定地区竞选公职。
- 一名或多名候选人也可以在他们的选区任职。
- 一位现任者是该区的“主要现任者”。
我是这样想的:
class District
has_many :candidates
has_many :candidates, :through => :incumbencies
end
class Candidate
belongs_to: District
end
class Incumbency
belongs_to :district
belongs_to :candidate
# This model has a boolean attribute :is_primary to distinguish primary incumbencies
end
这是正确的方法,还是我会遇到问题?谢谢你的帮助。
编辑:
这是一个澄清的例子:
在 1 区
- 候选人 1 是主要在职者
- 候选人 2 现任
- 候选人 3 是候选人
- 候选人 4 是候选人
在第 2 区
- 候选人 5 是候选人
- 候选人6是候选人
在第 3 区
- 候选人 7 是主要在职者
- 候选人 8 是候选人