1
몽고 이드에서 버전 시스템을 설정하려고합니다.몽고 이드가 내 embeds_many children을 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
=> []
어떤 생각을 : 나는 부모 개체가 저장 될 때 새로운 임베디드 버전의 객체가 저장되지 않는 것을 문제로 실행 해요? 나는 참조 된 릴레이션이 자식을 저장하기 위해 자동 저장 옵션을 요구한다는 것을 안다. 그러나 문서에 임베디드 아이들에게 필요한 것은 없다. 그리고 그것을 시도했을 때 문제를 해결하지 못했다.