2010-06-19 5 views
0

У меня есть три модели концерна здесь:Сложные Рельсы ассоциации Вопрос

  • Пользователь
  • Борьба
  • FightPunches
  • Пуансоны

Ассоциации являются:

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

Основные ноты:

  • Есть три FK-х в модели FightPunch: fight_id, punch_id, user_id
  • challenger_id и challengee_id отражают два пользователя, которые борются в модели Fight.

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

  1. has_many challenger_punches
  2. HAS_MANY challengee_punches

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

То же самое с №2, но только с вызовом.

ответ

Смежные вопросы