繁体   English   中英

在will_paginate中使用辅助方法的更好方法是什么?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM