Rails 3 - Как обрабатывать нумерацию страниц по времени, а не по количеству постов? - PullRequest
0 голосов
/ 28 мая 2011

Я хотел бы написать функцию разбиения на страницы для моего приложения Rails 3, которая будет разбивать сообщения на форуме на страницы. Деление на страницы выполняется в соответствии с временным интервалом (настраивается пользователем), скажем, 7 дней, т.е. на первой странице показаны сообщения за последнюю неделю, на второй странице показаны сообщения за неделю до этого, и т. д.

Более того, я хотел бы отобразить некоторые указания для пользователей о количестве постов на каждой странице. Например, я мог бы установить для атрибута title ссылки на вторую страницу значение «74 сообщения» или изменить цвет фона в соответствии с количеством сообщений.

Другими словами, мне нужно знать количество постов на каждой странице при отображении страницы. Сначала я думал сохранить количество постов на каждой странице в базе данных и обновлять этот номер при добавлении нового сообщения или удалении сообщения. Но, поскольку временные рамки настраиваются (это может быть 7 дней, 3 дня, 1 месяц или даже 1 день), я не уверен, как управлять этой базой данных. Кроме того, Я не хочу загружать все сообщения из базы данных , потому что время загрузки будет очень медленным.

Пожалуйста, сообщите.

1 Ответ

1 голос
/ 28 мая 2011

Добавьте два параметра в действие индекса для date_from и date_to.Используйте их, чтобы выбрать записи из базы данных и вернуть их в индекс.

См. ActiveRecord условия диапазона для получения дополнительной информации.

Что касается подсчета ссылок в этих диапазонах, просто вызовите их, чтобы получить количество элементов.

...