多个多对一关联

时间:2012-10-15 18:33:15

标签: datamapper ruby-datamapper

在我的应用中,每个游戏都涉及两个角色不同的玩家。一个人玩猫,另一个人玩狗。我如何在Ruby的datamapper中描述这个?

该文档仅提供了属性名称与类名称匹配的示例,这将我们限制为每个类http://datamapper.org/docs/associations.html

一个关联

我希望我的游戏中有一个猫咪玩家和一个狗玩家。

1 个答案:

答案 0 :(得分:1)

您链接的文档有答案。阅读更全面。

class Player
  include DataMapper::Resource
end

class Game
  include DataMapper::Resource
  belongs_to :cat, 'Player'
  belongs_to :dog, 'Player'
end

更新:如果需要,可以在播放器模型中使用这些关联

class Player
  include DataMapper::Resource
  has n, :cat_games, :child_key  => [ :cat_id ]
  has n, :dog_games, :child_key  => [ :dog_id ]
end