面向 Bootstrap 等 CSS 框架的扩展表格插件,支持排序、分页、行选择和扩展功能。
ddnexus/pagy
面向纯 Ruby 的通用分页库,支持 Rails、Sinatra 等多种框架及多种分页方式。
- Star
- 4,998
- Fork
- 446
- 未关闭 Issue
- 3
- 最近提交
- 前天
这是什么?
Pagy 是一个 Ruby 分页库,适用于各种集合类型和运行环境,并不局限于 Rails。它提供 OFFSET、COUNTISH、COUNTLESS、KEYSET、KEYNAV、SEARCH、CALENDAR 等多种分页策略,开发者可以根据数据量和访问方式选择合适的方案。
在页面渲染方面,Pagy 可以生成服务端导航组件,支持 Bootstrap、Bulma 以及自带样式;也提供能随容器宽度自适应的客户端导航组件。对于 API 场景,它支持 JSON:API 的嵌套查询参数格式,并能输出包含分页信息的 JSON 数据。
项目还为 Elasticsearch Rails、Meilisearch、Searchkick、Typesense Rails 等搜索后端提供适配。它只加载实际使用的方法,并内置开发者工具面板,便于在运行中的应用里预览和调整分页样式。
核心功能
- 01支持 OFFSET、KEYSET、COUNTLESS、CALENDAR 等多种分页方式。
- 02提供 Bootstrap、Bulma 及默认样式的服务端导航组件。
- 03提供可随容器宽度自适应的客户端导航组件。
- 04支持 JSON:API 链接结构和面向 API 客户端的 JSON 分页元数据。
- 05为 Elasticsearch Rails、Meilisearch、Searchkick、Typesense Rails 提供适配。
适用场景
- 为 Rails 应用添加基于 Bootstrap 或 Bulma 样式的分页列表。
- 构建返回 JSON:API 风格分页链接的 JSON 接口。
- 在 Ruby 项目中对 Elasticsearch、Meilisearch 或 Typesense 的搜索结果分页。
- 按年、月、周、日对时间数据进行日历式分页浏览。
快速上手
- 1
在控制器中引入 Pagy::Method(例如 application_controller.rb)
- 2
使用 pagy(:offset, Product.all) 对集合进行分页
收录于专题
标签
常见问题
- pagy 是什么?
- 面向纯 Ruby 的通用分页库,支持 Rails、Sinatra 等多种框架及多种分页方式。 Pagy 是一个 Ruby 分页库,适用于各种集合类型和运行环境,并不局限于 Rails。它提供 OFFSET、COUNTISH、COUNTLESS、KEYSET、KEYNAV、SEARCH、CALENDAR 等多种分页策略,开发者可以根据数据量和访问方式选择合适的方案。
- pagy 可以免费使用吗?用的什么许可证?
- pagy 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- pagy 还在维护吗?
- 活跃维护中。pagy 最近一次提交是在 2026年11月6日。
- pagy 适合用来做什么?
- 为 Rails 应用添加基于 Bootstrap 或 Bulma 样式的分页列表。 构建返回 JSON:API 风格分页链接的 JSON 接口。 在 Ruby 项目中对 Elasticsearch、Meilisearch 或 Typesense 的搜索结果分页。 按年、月、周、日对时间数据进行日历式分页浏览。
- pagy 怎么安装和运行?
- 在控制器中引入 Pagy::Method(例如 application_controller.rb) 使用 pagy(:offset, Product.all) 对集合进行分页
- 在哪里获取 pagy?
- 源代码和安装说明在 GitHub 上:https://github.com/ddnexus/pagy
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
为 Rails 模型添加智能全文搜索的 Ruby 库,底层基于 Elasticsearch 或 OpenSearch。
Ruby on Rails 是一个基于 MVC 模式的全栈 Web 框架,用于用 Ruby 构建数据库驱动的 Web 应用。
一个 Ruby on Rails Active Record 插件,为模型生成可读的 slug,让 URL 可以用名称代替数字 ID。
基于 Ruby on Rails 的开源电商框架,供开发者搭建并完全掌控自有线上商店。