是否有可能使两个模型相互嵌入

时间:2016-09-29 12:03:29

标签: ruby-on-rails-4 mongoid database-relations

假设有两种模式:主机和事件。每个事件只有一个主机,但同一个人可能正在托管多个事件。可以在不知道谁将托管它的情况下创建事件,因此embedded_in关系不会起作用,因为它需要在创建时指定主机。是否可以按如下方式定义结构:

class Host
   include Mongoid::Document
   embeds_many :events
end

class Event
   include Mongoid::Document
   embeds_one :host
end

我尝试过这样做,但embeds_oneembeds_many似乎没有创建相应的字段。此外,当我尝试为主持人分配事件时,我得到了NoMethodError: undefined method "first" for Event object

提前谢谢!

修改

我知道我可以使用' has_many'和'belongs_to'关系。但我希望将整个主文档存储在事件中,而不仅仅是他的ID。

0 个答案:

没有答案
相关问题