0

我有两个模型

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
4

1 回答 1

1

模型的文档Image存储在模型的文档中Supplier。所以基本上没有images在 mongo 中创建名称的集合。在您的 mongo 控制台中检查。你只会有一个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
于 2016-06-20T09:07:39.253 回答