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
=> []
有什麼想法?我知道引用的關係需要一個:自動保存選項來保存孩子,但沒有一個文檔說明這是嵌入式孩子所必需的,並且在我嘗試時沒有解決問題。