Вопрос

Пытаюсь понять варианты для 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 можно использовать, когда вы хотите разбить разные модели на страницы в одном списке или если вы хотите выполнить сложный запрос.Пока вам это не нужно, не беспокойтесь об этом.Когда вы столкнетесь с проблемами, которые, похоже, не можете решить, проверьте еще раз.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top