保存時文件有3層的嵌套,子對象是錯誤的父下保存:Mongoid:嵌入式文件是錯誤的父下保存
user = User.create
website = user.websites.create
post = website.posts.create
post2 = website.posts.create
post.images.create
post2.images.create
puts "#{user.to_json}"
puts "#{user.reload.to_json}"
每一個職位應具備的圖像,這是在骯髒的真實用戶對象(user.to_json) =>https://gist.github.com/vdaubry/cdc465d6d5ef84576830
但是,當我重新加載所有圖像被嵌入下的第一個交用戶(user.reload.to_json) =>https://gist.github.com/vdaubry/a9c217a467dd9ff9a7fb
這是一個錯誤還是我錯過了一些明顯的東西?
這裏是用來重現這一類的定義:
class User
include Mongoid::Document
embeds_many :websites
end
class Website
include Mongoid::Document
include Mongoid::Timestamps
embedded_in :user
embeds_many :posts
end
class Post
include Mongoid::Document
include Mongoid::Timestamps
embedded_in :website
embeds_many :images
end
class Image
include Mongoid::Document
include Mongoid::Timestamps
embedded_in :post
end
我的Gemfile:
ruby 2.1.2p95
gem 'rails', '~> 4.1.4'
gem 'mongoid', '~> 4.0.0'