ruby-on-rails - ruby on rails - 按类别中的计数产品列排序
问题描述
请告诉我如何按类别中的计数产品列进行排序。我的类别.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
解决方案
如果我理解您的问题,请检查这是否是您要查找的内容。
在控制器中:
@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
列名。
推荐阅读
- javascript - 在纯 JavaScript 中只允许粘贴数字而不使用输入数字
- java - 单元测试:比较文件生成断言返回 false
- c# - Visual Studio 2017 在抛出异常时中断(也处理异常)
- jackson - jackson 无法反序列化(spring cloud stream kafka)
- java - 空白时 JLabel 不占用空间(Java)
- php - 它可能使用不带名称的 get_meta_tags 吗?
- windows - 为目录下的所有文件添加自动编号前缀
- c# - 无法处理 TableLayoutPanel 中的 PictureBox.DrawImage
- python - TypeError:列表对象不是迭代器
- javascript - 使用参数调用函数作为另一个函数参数