0

私は2つのモデルを持っています

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。したがって、基本的にimagesmongoで作成された名前のコレクションはありません。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 に答える