Сложный рельсовый вопрос - PullRequest
0 голосов
/ 20 июня 2010

У меня есть три модели, вызывающие озабоченность:

  • Пользователь
  • Бой
  • FightPunches
  • Пунши

Ассоциации следующие:

  • У пользователя много боев, foreign_key => 'challengeer_id или challengee_id'
  • Бой принадлежит претенденту, так как пользователь
  • Бой принадлежитоспаривать, как пользователь
  • Бой имеет много fight_punches
  • FightPunches принадлежит борьбе
  • Бой имеет много ударов, через fight_punches
  • FightPunch принадлежит Punch
  • FightPunch принадлежит пользователю

Ключевые примечания:

  • В модели FightPunch есть три fk: fight_id, punch_id, user_id
  • challengeer_idи challengee_id отражают двух пользователей, которые сражаются в модели Fight.

Вот задача.Я хочу создать две ассоциации в модели Fight:

  1. has_many challengeer_punches
  2. has_many challengee_punches

Первый должен получить записи из модели Punch;однако, он должен захватывать только те записи, где Fight.challenger_id = FightPunch.user_id.

То же самое с # 2, но только с претендентом.

1 Ответ

0 голосов
/ 20 июня 2010

принадлежит_документации смотрите поддерживаемые опции, в частности "foreign_key" и "primary_key"

...