При сохранении документов с 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'