我正在与DataMapper(一个用于跟踪游戏的ruby webapp)的简单关系。游戏属于4个玩家,每个玩家可以有很多游戏。 当我打电话给player.games.size时,我似乎得到了0的结果,对于我认识的玩家来说有与他们相关的游戏。我目前能够将玩家关联关闭,但不知道为什么player.games是空的。 我是否需要在has n关联中定义parent_key,还是还有其他我缺少的东西?Datamapper与多个键具有n关系
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
我认为:through =>资源会在对象上创建关联表和数组。我希望能保留单个字段,但我想你总是可以创建访问器或改变对象模型。 – jing 2010-07-13 14:33:20