1
我想在Mongoid上设置一个版本控制系统。我运行到这个问题,当父对象被保存未保存的新的嵌入式版本的对象:Mongoid没有保存我的embeds_many孩子在parent.save
class Version
include Mongoid::Document
embedded_in :memorable, :polymorphic => true
field :version_number, :type => Integer
end
class Post
include Mongoid::Document
embeds_many :versions, :as => :memorable
before_save :create_version
field :version, :type => Integer, :default => 1
def create_version
self.versions.build({:version_number => self.version})
self.version = version + 1
end
end
@post = Post.create(:content => "Hello there!")
@post.update_attributes(:content => "Back at you!")
@post.reload
@post.versions
=> []
有什么想法?我知道引用的关系需要一个:自动保存选项来保存孩子,但没有一个文档说明这是嵌入式孩子所必需的,并且在我尝试时没有解决问题。