如何显示所有类别的产品? (迭代)

时间:2017-04-04 11:37:27

标签: ruby-on-rails ruby

我需要在单个产品上显示每个类别的产品(用于自动填充)。

型号:

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中,我只在一个类别中显示了一个产品。

如何展示所有类别的产品?

1 个答案:

答案 0 :(得分:2)

正如它所说,它是n + 1个查询。所以我们可以这样做:

Product.select('DISTINCT product_category_id')

Product.joins(:product_categories).select("DISTINCT product_categories.*")