Используя Mongoid, скажем, у меня есть следующие классы:
class Map
include Mongoid::Document
embeds_many :locations
end
class Location
include Mongoid::Document
field :x_coord, :type => Integer
field :y_coord, :type => Integer
embedded_in :map, :inverse_of => :locations
end
class Player
include Mongoid::Document
references_one :location
end
Как вы можете видеть, я пытаюсь смоделировать простую игровую мирную среду, где карта включает в себя местоположения, а игрок ссылается на одно место в качестве своего текущего места.
Используя этот подход, я получаю следующую ошибку, когда пытаюсь ссылаться на атрибут "location" класса Player:
Mongoid::Errors::DocumentNotFound: Document not found for class Location with id(s) xxxxxxxxxxxxxxxxxxx.
Я понимаю, что это связано с тем, что документ местоположения встроен, что затрудняет ссылку за пределы его документа внедрения (Карта). Это имеет смысл, но как я могу моделировать прямую ссылку на встроенный документ?