2014-04-03 44 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