mongoid embeds_many связанная коллекция остается пустой
У меня две модели
class Supplier < User
include Mongoid::Document
embeds_many :images
accepts_nested_attributes_for :images
end
class Image
include Mongoid::Document
embedded_in :supplier
end
Когда я сохраняю изображения во вложенной форме, они сохраняются в коллекции поставщика, т.е.
s = Supplier.first
s.images #some Image records
Но проблема в том, что сама коллекция изображений остается пустой, т.е.
Image.count # gives 0
1 ответ
Решение
Документы вашего Image
модель хранится в документе вашего Supplier
модель. Так что в принципе нет коллекции с именем images
создано в монго. Проверьте это в своей консоли Монго. Вы только будете иметь suppliers
Коллекция и нет images
коллекция.
Если вы хотите получить доступ к изображениям напрямую, не обращаясь к конкретному, вы можете сделать это
Supplier.all.pluck(:images)
#It will give you an array of all images
Или реализовать has_many
class Supplier < User
include Mongoid::Document
has_many :images
accepts_nested_attributes_for :images
end
class Image
include Mongoid::Document
belongs_to :supplier
end