Ruby on rails RubyonRails应用程序中模型的构造

Ruby on rails RubyonRails应用程序中模型的构造,ruby-on-rails,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3.1,在我的rails应用程序中,我有以下模型:用户、游戏和玩家。一个用户有很多游戏,一个游戏有很多玩家。到目前为止,这真的很简单,但问题是,在一场比赛中,玩家的最大数量是8人,并且有可能在达到最大玩家数量后加入一场比赛,但你是一名替补 所以问题是:我应该有一个额外的储备模式吗?所有模型应该如何相互关联? 目前,我已经解决了这个问题,在玩家模型中添加了一个reserve属性,当达到最大数量时,reserve属性变为1而不是0。这个解决方案感觉有点笨拙,需要很多代码。我想知道是否有人做过类似的事情,并且

在我的rails应用程序中,我有以下模型:用户、游戏和玩家。一个用户有很多游戏,一个游戏有很多玩家。到目前为止,这真的很简单,但问题是,在一场比赛中,玩家的最大数量是8人,并且有可能在达到最大玩家数量后加入一场比赛,但你是一名替补

所以问题是:我应该有一个额外的储备模式吗?所有模型应该如何相互关联?
目前,我已经解决了这个问题,在玩家模型中添加了一个reserve属性,当达到最大数量时,reserve属性变为1而不是0。这个解决方案感觉有点笨拙,需要很多代码。我想知道是否有人做过类似的事情,并且有更好的解决方案。

您可以在游戏模型中添加一个方法

has_many :players

def is_reserved
 self.players.count >= 8 ? true : false
end
然后设置一个条件,将玩家添加到游戏中。我假设您拥有@game对象

unless @game.is_reserved
  // add players
else
 // show the warning messaage or do nothing
end
希望它对你有用