присоединяйся к одним и тем же моделям рельсов дважды, например, в клубах people has_many через членство И в клубах people has_many через комитет - PullRequest
1 голос
/ 04 июня 2010

Модель: * Человек * Клуб

Отношения * Членство * Комитет

Люди должны иметь возможность вступить в клуб (Членство) Люди должны иметь возможность быть на борту клуба (комитета)

Для моего приложения это включает в себя совершенно разные функции, поэтому я бы предпочел не использовать флаг для установки (is_board_member) или аналогичный.

Я хочу написать:

Люди has_many: clubs: through =>: членство #: as =>: участник? : foreign_key =>: member_id? has_many: clubs: through =>: комитет # как (выше)

но я не совсем уверен, как сшить это вместе

1 Ответ

2 голосов
/ 04 июня 2010

Попробуйте

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