首页 > 解决方案 > 使用 pagey gem 对哈希进行分页

问题描述

我有一个Products表,用于存储商店的产品,产品的条目之一是vendor。所以多个产品将有相同的供应商(即耐克)。我还有一个包含产品的销售表。我想计算每个产品供应商的销售数量。

我的代码将返回一个哈希,其中键是供应商,值是销售数量,如下所示:

{
  "Adidas":40,
  "Nike":34,
  "Reebok":23,
  ...
}

这样做的问题是供应商的数量可能会变得很大,我只想一次显示 50 个。在这个哈希上实现分页的最佳方法是什么?我正在使用带有反应前端的 ruby​​ on rails (react on rails)。与其他分页宝石相比,我更喜欢pagy根据其性能使用宝石。

标签: ruby-on-railsreactjsruby

解决方案


根据文档https://ddnexus.github.io/pagy/extras/array,您可以使用 pagy_array 对数组进行分页,如下所示:

@pagy_a, @items = pagy_array(hash.to_a, items: 50)

在此之前你应该取消注释

require 'pagy/extras/array' 

在 pagey.rb 文件中,并添加

include Pagy::Backend

到你的控制器

希望对你有帮助


推荐阅读