如何级联保存与mongoid的has_and_belongs_to_many关系



我有一个Tag和一个Question类。

class Question
  include Mongoid::Document
  include Mongoid::Timestamps
  identity type: String
  has_and_belongs_to_many :tags # Refer to tag_ids
end
class Tag
  include Mongoid::Document
  identity type: String    
  has_and_belongs_to_many :questions
end

然而,当我执行以下操作时,标签不会保存:

t = Tag.new(id: "politics")
q = Question.new({tags: [t]})
q.save!

然而,当我这样做时,标签是创建的:

Question.create!({tags: [Tag.new(id: "politics")]})

如果我执行以下操作,那么它将正常工作:

has_and_belongs_to_many :tags, autosave: true # Refer to tag_ids

相关内容

最新更新