在Rails中建模游戏匹配的好方法?
我正在尝试在Rails中建立一种匹配类型的模型。 比赛需要跟踪以下内容:
- 两位球员
- 获胜者,冠军
没有分数或类似的东西。 我可以看到这样做与玩家有3个独立的has_one
关系,但这对我来说似乎很骇人听闻。 有没有更好的方法来解决这个问题?
这两个领域怎么样:
class GameMatch < ActiveRecord::Base belongs_to :winner, :class_name => 'Player' belongs_to :loser, :class_name => 'Player' end
如果你需要在游戏完成之前将GameMatch输入系统,你必须有三个字段,但你可以像这样详细说明:
class GameMatch < ActiveRecord::Base belongs_to :home_player, :class_name => 'Player' belongs_to :away_player, :class_name => 'Player' def winner self[:home_won] ? home_player : away_player end def winner=(player) self[:home_won] = player == home_player end end
当然,你必须在那里进行一些处理,以确保胜利者参加比赛并且不是决定胜利的旁观者。
- 如何编写仅查看日期时间字段的时间组件的activerecord查询?
- Rails:如何从http下载文件并将其保存到数据库中
- 失败:在轨道上的ruby上预期0> = 1
- Rails:render方法中的位置选项是什么
- ruby on rails多参数属性*如何*工作(datetime_select)
- has_many:通过has_and_belongs_to_many关联
- 如何使用Ruby On Rails创建动态javascript?
- ActiveRecord在Heroku上错误地加载二进制字段,在OSX上很好
- 生产中的will_paginate错误NoMethodError(的未定义方法`page’:ActiveRecord :: Relation):