【发布时间】:2014-06-24 22:37:10
【问题描述】:
这是我的分页,我想将页数限制为 10,例如没有与图片中相同的问题,我该怎么做,我正在使用 will_paginategem
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 pagination will-paginate
这是我的分页,我想将页数限制为 10,例如没有与图片中相同的问题,我该怎么做,我正在使用 will_paginategem
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 pagination will-paginate
以下命令:
<%= will_paginate @yourwhatevers, inner_window: 3, outer_window: 1 %>
实现了这一点。假设您在第 15 页(共 36 页),您将获得:
Previous 1 2 ... 12 13 14 15 16 17 18 .. 35 36 Next
inner_window,也就是当前页面左右多少个,默认为4,但为了更好,你可以设为1或2。outer_window默认为1,所以我上面的行不能包含它完全没有
【讨论】:
有很多方法可以做到这一点,具体取决于您想要做的事情。看看这个答案:
Limit number of pages in will_paginate
一个示例将其限制为 100 个条目,一页上有 10 个条目(因此是 10 页)
@posts = Post.paginate(:page => params[:page], :per_page => 10,
:total_entries => 100)
【讨论】:
您可以将结果数量限制为页面大小的 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。
【讨论】: