Помогите интерпретировать документы will_paginate?
-
23-08-2019 - |
Вопрос
Пытаюсь понять варианты для will_paginate paginate
способ:
:page — REQUIRED, but defaults to 1 if false or nil
:per_page — defaults to CurrentModel.per_page (which is 30 if not overridden)
:total_entries — use only if you manually count total entries
:count — additional options that are passed on to count
:finder — name of the ActiveRecord finder used (default: “find”)
page
, per_page
, и finder
прямолинейны.
total_entries
и count
-- не понимаю "использовать, только если вы вручную подсчитываете записи?" Они предполагают сценарий, в котором вы бы запускали отдельный запрос count, а затем передавали результат в paginate
как вариант?При каких обстоятельствах вы бы это сделали?
"дополнительные параметры, которые передаются в count" - Какие параметры доступны?"Передайте дальше" в count
способ ???
Решение
По умолчанию will_paginate использует count (из ActiveRecord::Вычисления), чтобы подсчитать общее количество объектов, которые вы просматриваете.Но если вы знаете лучше, или прямой подсчет не сработает, вы можете вычислить и предоставить :total_entries самостоятельно.
Параметр :count предназначен для дополнительных аргументов метода ActiveRecord::Calculations#count, например :distinct .Вы можете ознакомиться с документами для получения полного списка.
Другие советы
Параметры total_entries и count можно использовать, когда вы хотите разбить разные модели на страницы в одном списке или если вы хотите выполнить сложный запрос.Пока вам это не нужно, не беспокойтесь об этом.Когда вы столкнетесь с проблемами, которые, похоже, не можете решить, проверьте еще раз.