我有3个型号:
class Interest
include Mongoid::Document
has_many :user_hobby
end
class UserHobby
include Mongoid::Document
field :contacts, :type => Array
belongs_to :interest, :foreign_key => "interest", inverse_of: nil
belongs_to :interest, :foreign_key => "related_interests", inverse_of: nil
embedded_in :user
end
class User
include Mongoid::Document
embeds_many :user_hobby
end
我必须在user和user_hobby之间添加嵌入式关系,但之后(在我的测试中) 当我想保存兴趣时,我有这个错误:
Mongoid :: Errors :: MixedRelations:由于嵌入了UserHobby,因此不允许通过关系关联引用兴趣文档中的(n)UserHobby文档。
我看了这个主题,但也没有帮助我Mongoid::Errors::MixedRelations
感谢。
答案 0 :(得分:6)
在此主要问题是您的UserHobby模型嵌入在用户中。根据mongodb,如果嵌入了文档,则除了嵌入文档之外的任何其他模型都不能引用它。如果要从其他模型引用UserHobby文档,则UserHobby和User不应该有嵌入关系。