module

WillPaginate::ViewHelpers

Inherits WillPaginate::I18n

= Will Paginate view helpers

Главный хелпер — will_paginate: рендерит ссылки пагинации для коллекции. Сам хелпер — тонкая обёртка вокруг LinkRenderer.

Class methods

pagination_options

Писать в этот хэш, чтобы переопределить дефолты глобально:

WillPaginate::ViewHelpers.pagination_options[:page_links] = false

Instance methods

page_entries_info(collection : CollectionMethods, model : String | Nil = nil, html : Bool = true) : String

Сообщение о числе показанных записей от общего числа:

page_entries_info(@posts) #-> Displaying posts 6 - 12 of 26 in total

Вывод по умолчанию содержит HTML; передайте html: false для текста. model — имя модели (Ruby выводит его из collection.first.class; статическая типизация — передавайте явно, default: "entry").

will_paginate(collection : CollectionMethods, renderer : LinkRendererBase.class | LinkRendererBase | Nil = nil, **options) : String | Nil

HTML со ссылками страниц для объекта, совместимого с WillPaginate::Collection. Если страниц не больше одной — nil.

==== Опции

  • +class+ — CSS-класс DIV (default: "pagination")
  • +previous_label+ — default: "← Previous"
  • +next_label+ — default: "Next →"
  • +inner_window+ — ссылок вокруг текущей страницы (default: 4)
  • +outer_window+ — ссылок вокруг первой и последней (default: 1)
  • +link_separator+ — разделитель элементов (default: пробел)
  • +param_name+ — имя параметра страницы в URL (default: :page)
  • +page_links+ — false: только previous/next (default: true)
  • +container+ — рендерить ли DIV-контейнер (default: true)
  • +renderer+ — класс или экземпляр рендерера (default: отсутствует — ArgumentError, как в базовом модуле гема; интеграции подставляют свой LinkRenderer)

Неопознанные опции становятся HTML-атрибутами контейнера:

will_paginate(@posts, style: "color:blue") #->

...

(в Crystal +renderer+ — отдельный позиционный аргумент, а не ключ хэша опций: в типизированном хэше нельзя хранить классы)

Nested types