【发布时间】:2011-12-16 03:06:31
【问题描述】:
我正在使用最新版本的 will_paginate 和 rails 3。我想使用 out_of_bounds?如果页面参数高于最后一页,则将当前页面设置为最后一页。我找到了这样的方法:
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(我不认为?)。有没有更好的方法来实现这一点?
【问题讨论】:
标签: ruby-on-rails will-paginate