我有一个地图位置对象。一个玩家,它有一个位置。敌人/ NPC有一个位置。如何处理belongs_to,还是我不需要它? 所以它始终是一对一的,它只是一对一的不同对象。
class Player
has_one :location
end
class Npc
has_one :location
end
class Location
belongs_to :player
belongs_to :npc
end
这看似不对,但它代表了我想要的东西,所以如果我只有一个位置,我可以回到那个位置上的东西。未来可能是特殊物品,如矿井。所有非常不同的模型,但是当你在地图上看一个地方时,你想知道那里有什么。
class Mine
has_one :location
end
答案 0 :(得分:0)
class Player
belongs_to :location
end
class Npc
belongs_to :location
end
class Location
has_many :player
has_many :npc
end
我想你想做的就是这个。
然后你在视图上使用它你可以使用Player.location和Npc.location 这意味着location_id将保存到播放器和npc表。