使用will-paginate按排名算法排序
我正在使用Ruby on Rails创建一个类似digg的站点,对项目进行排名(基于此算法 )。 我正在使用will-paginate gem列表中的项目。
问题是,will-paginate只允许我根据表数据插入’:order =>’。 我想将will-paginate按一个数字排序,该数字是使用基于表格上不同字段的函数计算的(例如,投票数,年龄)。
我怎样才能做到这一点?
根据代码中的注释/文档 ,您可以使用
Post.paginate_by_something
为了使用
Post.find_all_by_something
获取要使用paginate的项目集合。 需要:order
选项来设置项目的顺序。
因此,对于您的问题,您可以创建自定义find
方法,使用您的算法添加排名列。 使用:order
选项对此排名进行排序。
您还可以在命名范围上使用paginate
方法。 如果你为订购做了一个范围,你可以做Article.ordered.paginate
。
- 使用Ruby / Rails以编程方式将表单数据发布到另一个站点
- 将ACL实施到Rails应用程序的最佳方法是什么?
- Capistrano分段部署需要全新的数据库迁移
- 无法加载’active_record / connection_adapters / sqlite3_adapter’
- 安装Rails版本3.2.15时出现“Gem :: RemoteFetcher :: UnknownHostError”
- 使用PDFkit gem生成pdf在rails 4上挂起
- Rails 3 ActiveRecord where子句设置的子句或null
- Rails 3 ActiveRecord:UNION
- 资产管道没有预编译sass