0

在我的应用程序中,每个游戏都涉及两个角色不同的玩家。一个玩猫,一个玩狗。如何在 Ruby 的数据映射器中描述这一点?

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

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

4

1 回答 1

1

您链接的文档有答案。更彻底地阅读。

class Player
  include DataMapper::Resource
end

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

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

class Player
  include DataMapper::Resource
  has n, :cat_games, :child_key  => [ :cat_id ]
  has n, :dog_games, :child_key  => [ :dog_id ]
end
于 2012-10-16T06:14:43.700 回答