【问题标题】:What's a better way to use helper methods with will_paginate?将辅助方法与 will_paginate 一起使用的更好方法是什么?
【发布时间】: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


    【解决方案1】:

    我不知道最好的解决方案,但至少你可以在第二次调用该方法之前进行检查(我想在大多数情况下,页面参数是可以的,所以你不必调用分页两次):

    people = People.all.paginate :page => params[:page], :per_page => 20
    @people = people.out_of_bounds? ? people.paginate(:page => people.total_pages) : people
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-09
      • 1970-01-01
      • 2020-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-05-03
      • 2011-10-30
      相关资源
      最近更新 更多