product
は、多くはuploads
、import
は多くがproducts
です。 私はすべてのアップロードを特定のインポートの製品にリンクしたいと思っています。レコードの配列のhas_many関係を得る最も効率的な方法
@import = Import.includes(products: [:uploads]).find(params[:id])
@products = @import.products
@uploads= @products.map{|product| product.uploads.where.not(file: nil)}.flatten
をしかし、それはかなり非効率です:ここで
は私がやっているものです。 他に解決策はありますか?
@import = Import.includes(:products).find(params[:id])
@products = @import.products.pluck(:id)
@uploads = Upload.where(products_id: [@products]).where.not(file: nil)
Pluckの各レコードをinsantiating回避し、データベースから直接IDのグラブ:についてはどのように
あなたのビューのすべての製品とそのアップロードを読み込むか、単にデータを操作する必要がありますか? – bkunzi01
ビュー用のすべての製品とアップロードをロードする必要があります –