我在 Rails 应用程序中有三个模型:Game
代表正在玩的游戏的一个实例。Player
代表游戏参与者的一个实例。User
代表可以参与游戏的注册人。
每个Game
可以有很多Players
,每个User
可以有很多Players
(一个人可以同时参与多个游戏);但每一个Player
都恰好在一个之中Game
,并且代表着一个User
。因此,我目前的关系如下。
class Game
has_many :players
end
class User
has_many :players
end
class Player
belongs_to :game
belongs_to :user
end
...自然players
表有game_id
和user_id
列,但games
没有users
外键。
我还想代表每个Game
人都有很多Users
演奏的事实;每个User
人都有很多Games
他们正在玩的东西。我该怎么做呢?补充就够了吗
class Game
has_many :users, :through => :players
end
class User
has_many :games, :through => :players
end