Сортировка по алгоритму ранжирования с использованием will-paginate - PullRequest
1 голос
/ 14 февраля 2010

Я создаю Digg-подобный сайт, используя Ruby on Rails, который ранжирует элемент (на основе этого алгоритма ). Я использую список драгоценных камней will-paginate для элементов на страницах.

Проблема в том, что will-paginate позволяет мне только вставлять ': order =>' на основе данных таблицы. Я хотел бы сделать разбивку на воли для сортировки по числу, которое рассчитывается с использованием функции, основанной на различных полях таблицы (например, число голосов, возраст часов).

Как я могу это сделать?

Ответы [ 2 ]

0 голосов
/ 14 февраля 2010

Вы также можете использовать метод paginate в именованных областях. Если вы делаете объем для заказа, вы можете просто сделать Article.ordered.paginate.

0 голосов
/ 14 февраля 2010

Согласно комментариям / документации в коде , вы можете использовать

Post.paginate_by_something

для использования

Post.find_all_by_something

чтобы получить коллекцию предметов, для которых вы хотите использовать пагинацию. Параметр :order необходим для установки порядка элементов.

Так что для вашей задачи вы можете создать собственный метод find, добавив столбец ранга, используя ваш алгоритм. Используйте опцию :order для сортировки по этому рейтингу.

...