【问题标题】:will_paginate gem : Limit number of pageswill_paginate gem:限制页数
【发布时间】:2014-06-24 22:37:10
【问题描述】:

这是我的分页,我想将页数限制为 10,例如没有与图片中相同的问题,我该怎么做,我正在使用 will_paginategem

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-4 pagination will-paginate


    【解决方案1】:

    以下命令:

    <%= 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,所以我上面的行不能包含它完全没有

    【讨论】:

    • inner_window: 1, outer_window: 0 解决了我的问题。我的问题是 iPhone 等移动设备无法显示上一个和下一个按钮,因为分页部分的页面太多,无法在移动设备上显示。
    【解决方案2】:

    有很多方法可以做到这一点,具体取决于您想要做的事情。看看这个答案:

    Limit number of pages in will_paginate

    一个示例将其限制为 100 个条目,一页上有 10 个条目(因此是 10 页)

    @posts = Post.paginate(:page => params[:page], :per_page => 10, 
                           :total_entries => 100)
    

    【讨论】:

      【解决方案3】:

      您可以将结果数量限制为页面大小的 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

      【讨论】:

        猜你喜欢
        • 2012-04-27
        • 2019-05-20
        • 1970-01-01
        • 1970-01-01
        • 2012-11-17
        • 1970-01-01
        • 1970-01-01
        • 2017-06-07
        • 2021-07-11
        相关资源
        最近更新 更多