2014-04-03 48 views
0

我采取一个英雄和怪物其中轨道关联记录决斗参与者和

其实之间的决斗系统胜者我有3种活动记录模式:

class Hero < ActiveRecord::base 
    has_many: duels 
end 

class Monster < ActiveRecord::base 
    has_many: duels 
end 

class Duel < ActiveRecord::base 
    belongs_to :hero 
    belongs_to :monster 
end 

而且我想在决斗模型中记录获胜者。你会使用哪种活动记录协会?我可以在Duel模型中使用多态关联,但它会在怪物/英雄模型中创建has_many ...听起来很糟糕?

谢谢您的帮助

回答

1

如果决斗始终是一个英雄和怪物之间,那么你可以只添加一个字段“胜利者”的决斗表,它只能设置为“英雄”或者“怪物“,然后在有人获胜时适当设置。

+1

而获胜者的领域甚至可以被称为“决议”,并允许其他情况像绘制,怪物逃生,英雄逃生等...... – Syl