复杂的Rails协会问题

时间:2010-06-19 22:14:08

标签: ruby-on-rails associations

我有三种关注模式:

  • 用户
  • 扑灭
  • FightPunches
  • 冲头

协会如下:

  • 用户有很多打架,foreign_key => 'challenger_id或challengee_id'
  • 战斗属于挑战者,作为用户
  • 战斗属于挑战者,作为用户
  • 战斗有很多fight_punches
  • FightPunches属于战斗
  • 通过fight_punches
  • 打击很多拳
  • FightPunch属于Punch
  • FightPunch属于用户

主要提示:

  • FightPunch模型中有三个fk:fight_id,punch_id,user_id
  • challenger_id和challengee_id反映了在战斗模型中战斗的两个用户。

这是挑战。我想在Fight模型中创建两个关联:

  1. has_many challenger_punches
  2. has_many challengee_punches
  3. 第一个必须从Punch模型中获取记录;但是,它必须只抓取那些Fight.challenger_id = FightPunch.user_id的记录。

    与#2相同,但只是与挑战者打交道。

1 个答案:

答案 0 :(得分:0)

belongs_to documentation查看受支持的选项,特别是“foreign_key”和“primary_key”