在两个模型中嵌入相同的对象

时间:2016-12-02 03:07:36

标签: ruby-on-rails ruby mongodb mongoid relationship

我有一个用户和诊所模型:

class User
  include Mongoid::Document
  embeds_one :phone, inverse_of: :personal_phone
end

class Clinic
  include Mongoid::Docuement
  embeds_many :phones, inverse_of: :clinic_phone
end

现在我有一个我希望嵌入用户或诊所的手机课程。因此,当我初始化手机对象时,我希望可以选择将其嵌入用户或诊所。我尝试了以下方法:

class Phone
  include Mongoid::Document
  embedded_in :user, inverse_of: :personal_phone
  embedded_in :clinic, inverse_of: :clinic_form
end

现在,当我为用户保存手机时,它可以工作,但当我尝试将手机保存到诊所时,我收到以下错误: Mongoid有两个不同的路径对象,用于确定数据库中文档的位置,Root和Embedded。当嵌入的文档以某种方式获得分配的根路径时,会引发此错误。

任何想法如何实现我的目标?

0 个答案:

没有答案