两次加入相同的铁路模型,例如人们通过会员资格拥有俱乐部,人们通过委员会拥有俱乐部

时间:2010-06-04 08:36:41

标签: ruby-on-rails activerecord polymorphism has-and-belongs-to-many polymorphic-associations

型号:  *人  *俱乐部

关系  *会员资格  *委员会

人们应该可以加入俱乐部(会员) 人们应该能够加入俱乐部(委员会)

对于我的应用程序,这些涉及截然不同的功能,所以我不希望使用标志来设置(is_board_member)或类似。

我发现自己想写:

人 has_many:俱乐部:通过=> :membership#:as => :会员? :foreign_key => :会员ID? has_many:俱乐部:通过=> :委员会#as(上)

但我不确定如何将它们拼接在一起

1 个答案:

答案 0 :(得分:2)

尝试

has_many :committee_clubs, :through => :committee, :source => :clubs
has_many :membership_clubs, :through => :membership, :source => :clubs