我正在使用Ruby on Rails创建一个类似digg的网站,对项目进行排名(基于this algorithm)。我正在使用will-paginate gem列表中的项目。
问题是,will-paginate只允许我插入':order =>'基于表格数据。我想使用基于表格上不同字段的函数(例如,投票数,年龄)计算出的将要分页的数字进行排序。
我该怎么做?
答案 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
。