使用will-paginate按排名算法排序

时间:2010-02-14 11:23:14

标签: ruby-on-rails will-paginate

我正在使用Ruby on Rails创建一个类似digg的网站,对项目进行排名(基于this algorithm)。我正在使用will-paginate gem列表中的项目。

问题是,will-paginate只允许我插入':order =>'基于表格数据。我想使用基于表格上不同字段的函数(例如,投票数,年龄)计算出的将要分页的数字进行排序。

我该怎么做?

2 个答案:

答案 0 :(得分:0)

根据the comments/documentation in the code,您可以使用

Post.paginate_by_something

为了使用

Post.find_all_by_something

获取您要使用paginate的项目集合。设置项目的顺序需要:order选项。

因此,对于您的问题,您可以创建自定义find方法,使用您的算法添加排名列。使用:order选项对此排名进行排序。

答案 1 :(得分:0)

您还可以在命名范围上使用paginate方法。如果您为订购设定了范围,则可以Article.ordered.paginate