假设有两种模式:主机和事件。每个事件只有一个主机,但同一个人可能正在托管多个事件。可以在不知道谁将托管它的情况下创建事件,因此embedded_in
关系不会起作用,因为它需要在创建时指定主机。是否可以按如下方式定义结构:
class Host
include Mongoid::Document
embeds_many :events
end
class Event
include Mongoid::Document
embeds_one :host
end
我尝试过这样做,但embeds_one
和embeds_many
似乎没有创建相应的字段。此外,当我尝试为主持人分配事件时,我得到了NoMethodError: undefined method "first" for Event object
。
提前谢谢!
修改
我知道我可以使用' has_many'和'belongs_to'关系。但我希望将整个主文档存储在事件中,而不仅仅是他的ID。