我正在与 DataMapper 建立简单的关系,DataMapper 是一个用于跟踪游戏的 ruby 网络应用程序。一个游戏属于_4个玩家,每个玩家可以有很多游戏。当我调用 player.games.size 时,我似乎得到了 0 的结果,因为我知道有与他们相关的游戏的玩家。我目前能够将玩家关联从游戏中拉出来,但无法弄清楚为什么 player.games 是空的。我是否需要在 has n 关联上定义 parent_key,还是我还缺少其他东西?
class Game
belongs_to :t1_p1, :class_name => 'Player', :child_key => [:player1_id]
belongs_to :t1_p2, :class_name => 'Player', :child_key => [:player2_id]
belongs_to :t2_p1, :class_name => 'Player', :child_key => [:player3_id]
belongs_to :t2_p2, :class_name => 'Player', :child_key => [:player4_id]
...
end
class Player
has n, :games
...
end