Rails - 模型设计 - 引用两个相同模型类型的列表

时间:2012-07-23 15:16:19

标签: ruby-on-rails ruby database-design activerecord has-many

我想实现一个游戏模型,它有两个团队和两个分数。一个团队是一个玩家列表。

class Game < ActiveRecord::Base
   has_many :players, :name => 'Team1' # I'd like this to be the first team
   has_many :players, :name => 'Team2' # and this to be the second team

   attr_accessible :score1 #the first team's score
   attr_accessible :score2 #the second team's score
end

class Player < ActiveRecord::Base
  attr_accessible :name
end

实现此目的的任何解决方案?我不知道这是否可行。谢谢!

1 个答案:

答案 0 :(得分:1)

最简单的方法是创建一个Team模型,该模型有许多玩家,并持有分数。游戏包含两个团队(实际上是has_many)。这样,用户不仅可以访问游戏,还可以访问得分和队友。 (如果你按照自己的意愿去做,那么要求队员的队友并非易事)

你想要什么是可能的,但我不建议这样做。改为添加团队模型。