我需要在单个产品上显示每个类别的产品(用于自动填充)。
型号:
ProductCategory has_many :products
Product belongs_to :product_category
控制器:
ProductCategory.all.map do |pc|
@products = pc.products.limit(1)
end
respond_to do |format|
format.html
format.json { render json: @products.pluck(:name) }
end
当然,在search.json
中,我只在一个类别中显示了一个产品。
如何展示所有类别的产品?
答案 0 :(得分:2)
正如它所说,它是n + 1个查询。所以我们可以这样做:
Product.select('DISTINCT product_category_id')
或
Product.joins(:product_categories).select("DISTINCT product_categories.*")