ruby on rails-按类别的计数产品列排序

时间:2018-08-24 08:55:33

标签: ruby-on-rails

请告诉我如何按类别中的计数产品列进行排序。我的category.rb:

class Category < ActiveRecord::Base
  has_many:category_products
  has_many:products, through: : category_products

我的category_index.rb

has "COUNT(category_products.product_id)", as: :count, type: :integer

1 个答案:

答案 0 :(得分:0)

如果我了解您的问题,请检查这是否是您要的内容。

在控制器中:

@categories = Category.joins(:category_products)
              .select("categories.*, category_products.product_id, COUNT(category_products.product_id) product_count")
              .group('category_products.product_id')
              .order("product_count DESC")

然后查看:

<% categories.each do |category| %>
  <p><%= category.product_count %> | <%= category.name %></p>
<% end %>

我不知道您的Category列名。