![](/img/trans.png)
[英]Is there a way to customize in view what will_paginate outputs on the page?
[英]What's a better way to use helper methods with will_paginate?
我正在使用带有rails 3的最新版本的will_paginate。我想使用out_of_bounds吗? 如果page参数高于最后一页,则将当前页面设置为最后一页。 我找到了这样的方法:
people = People.all.paginate :page => params[:page], :per_page => 20
@people = people.paginate(:page => (people.out_of_bounds? ? people.total_pages : params[:page))
问题是我必须两次调用分页。 第一次创建WillPaginate :: Collection以便使用out_of_bounds吗? 和total_pages方法,以及第二次实际设置当前页面。 我还需要通过更多操作来执行此操作,因此它有点不可收拾。 我也不能使用before_filter或after_filter(我不认为吗?)。 有没有更好的方法来实现这一目标?
我不知道最好的解决方案,但是至少您可以在第二次调用该方法之前进行检查(我想在大多数情况下,page参数是可以的,因此您不必两次调用分页) :
people = People.all.paginate :page => params[:page], :per_page => 20
@people = people.out_of_bounds? ? people.paginate(:page => people.total_pages) : people
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.