Repolode
ddnexus

ddnexus/pagy

Универсальная библиотека пагинации для Ruby: поддерживает пагинацию по смещению, ключам, поиску и календарю в Rails, Sinatra и других фреймворках.

Звёзды
4,998
Форки
446
Открытые issues
3
Последний коммит
позавчера

Что это?

Pagy — гем для пагинации в Ruby, работающий с коллекциями любых типов и в разных средах, а не только в Rails. Он предлагает несколько стратегий, включая OFFSET, COUNTISH, COUNTLESS, KEYSET, KEYNAV, SEARCH и CALENDAR, чтобы разработчики могли выбрать подходящий вариант с учётом объёма данных и способа доступа к ним.

Для отображения Pagy предоставляет серверные хелперы навигации со стилями Bootstrap, Bulma или собственным стилем по умолчанию, а также клиентские компоненты навигации, подстраивающиеся под ширину контейнера. Кроме того, он поддерживает вложенные строки запросов JSON:API и ответы JSON с метаданными пагинации для API-клиентов.

В Pagy есть адаптеры для поисковых бэкендов, таких как Elasticsearch Rails, Meilisearch, Searchkick и Typesense Rails. В README описана автозагрузка только тех методов, которые использует проект, а также встроенная панель dev tools для предварительного просмотра стилей в запущенном приложении.

Ключевые возможности

  • 01Поддерживает OFFSET, KEYSET, COUNTLESS, CALENDAR и другие способы пагинации.
  • 02Предоставляет серверные хелперы навигации со стилями Bootstrap, Bulma и стилем по умолчанию.
  • 03Предлагает клиентские компоненты навигации, подстраивающиеся под ширину контейнера.
  • 04Формирует структуры ссылок JSON:API и метаданные в JSON для API-клиентов.
  • 05Адаптеры для Elasticsearch Rails, Meilisearch, Searchkick и Typesense Rails.

Сценарии использования

  • Добавление пагинации в списки Rails-приложения со стилями Bootstrap или Bulma.
  • Создание JSON API, возвращающего ссылки пагинации в стиле JSON:API.
  • Пагинация результатов поиска из Elasticsearch, Meilisearch или Typesense в Ruby.
  • Пагинация данных, привязанных ко времени, по годам, месяцам, неделям или дням с помощью календарной навигации.

Быстрый старт

  1. 1

    Подключите Pagy::Method в контроллере (например, в application_controller.rb)

  2. 2

    Разбейте коллекцию на страницы с помощью pagy(:offset, Product.all)

В подборках

Темы

#ruby#pagination#rails#jsonapi#search#web-framework#bootstrap#bulma#elasticsearch-rails#hanami

Частые вопросы

Что такое pagy?
Универсальная библиотека пагинации для Ruby: поддерживает пагинацию по смещению, ключам, поиску и календарю в Rails, Sinatra и других фреймворках. Pagy — гем для пагинации в Ruby, работающий с коллекциями любых типов и в разных средах, а не только в Rails. Он предлагает несколько стратегий, включая OFFSET, COUNTISH, COUNTLESS, KEYSET, KEYNAV, SEARCH и CALENDAR, чтобы разработчики могли выбрать подходящий вариант с учётом объёма данных и способа доступа к ним.
pagy можно использовать бесплатно? Какая у него лицензия?
pagy распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
pagy всё ещё поддерживается?
Активно поддерживается. Последний коммит в pagy — 6 нояб. 2026 г..
Для чего можно использовать pagy?
Добавление пагинации в списки Rails-приложения со стилями Bootstrap или Bulma. Создание JSON API, возвращающего ссылки пагинации в стиле JSON:API. Пагинация результатов поиска из Elasticsearch, Meilisearch или Typesense в Ruby. Пагинация данных, привязанных ко времени, по годам, месяцам, неделям или дням с помощью календарной навигации.
Как установить pagy?
Подключите Pagy::Method в контроллере (например, в application_controller.rb) Разбейте коллекцию на страницы с помощью pagy(:offset, Product.all)
Где скачать pagy?
Исходный код и инструкции по установке — на GitHub: https://github.com/ddnexus/pagy

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Плагин расширенных HTML-таблиц для Bootstrap и других CSS-фреймворков: сортировка, пагинация, выбор строк и дополнительные расширения.

Фронтенд и UI#bootstrap#table#datatable
11,8 тыс.+1 за неделю4,3 тыс.JavaScriptMITАктивно поддерживаетсяОбновлён 18 часов назад

Ruby on Rails — полнофункциональный MVC-фреймворк для создания веб-приложений на Ruby с базой данных.

59,1 тыс.+229 за неделю23,8 тыс.RubyMITОбновлён 5 часов назад

Ruby-гем для Active Record, который генерирует читаемые слаги и позволяет искать модели по строке, например имени, вместо числового ID.

Бэкенд и API#ruby#rails#active-record
6,2 тыс.591RubyMITОбновлён 3 месяца назад