这是我的分页,我想将页数限制为10,例如,如果没有与图片中相同的问题我该怎么办,我正在使用will_paginate
gem
答案 0 :(得分:12)
以下命令:
<%= will_paginate @yourwhatevers, inner_window: 3, outer_window: 1 %>
完成此任务。我们假设你在36页的第15页,你会得到:
Previous 1 2 ... 12 13 14 15 16 17 18 .. 35 36 Next
inner_window
,换句话说,当前页面右侧和左侧有多少,默认为4,但为了更好,您可以将它设为1或2. outer_window默认为1,所以我的上面的行不能完全包含它
答案 1 :(得分:3)
根据您的想法,有很多方法可以做到这一点。看看这个答案:
Limit number of pages in will_paginate
一个例子,将其限制为100个条目,页面上有10个(因此10页)
@posts = Post.paginate(:page => params[:page], :per_page => 10,
:total_entries => 100)
答案 2 :(得分:3)
您可以将结果数量限制为页面大小的10倍:
MyModel.limit(300).paginate(page: params[:page])
这意味着你不能返回超过300个结果,因此不超过10页。
或者你可以探索一些will_paginate
rendering options。您可以配置在分页结束时和当前页面周围显示的页面数量 - 甚至可以完全删除页码。例如:
will_paginate @results, inner_window: 1, outer_window: 1
将在问题中显示Previous | 1 | ... | 9 | ... | 16 | Next
示例。