我有一个will_paginate的当前实现,它使用paginate_by_sql方法来构建要分页的集合。我们有一个针对total_entries的自定义查询,该查询非常复杂,会给我们的数据库带来很大的负担。因此,我们希望完全从分页中删除 total_entries。
换句话说,我们只需要一个“下一个 - 上一个”按钮,而不是典型的分页显示“上一个 [2] 3 4 5 下一个”。但是我们需要知道一些事情。
- 我们是否显示上一个链接?当然,只有在当前选择中显示的记录之前存在记录时才会发生这种情况
- 我们是否显示下一个链接?如果正在显示集合中的最后一条记录,则不会显示
从文档
如果您不提供 :total_entries,将自动生成计算行数的查询。如果您在使用此生成的 SQL 时遇到问题,您可能希望在应用程序中手动执行计数。
所以最终理想的情况如下。
- 删除 total_entries 计数,因为它导致数据库负载过大
- 一次显示 50 条记录,半分页仅使用下一个/上一个按钮进行导航,无需显示所有可用页码
- 仅相应地显示下一个按钮和上一个按钮
有没有人处理过类似的问题或对解决方案有想法?