【问题标题】:params[:page] in will_paginatewill_paginate 中的参数[:page]
【发布时间】:2015-11-28 05:14:15
【问题描述】:

Gem will_paginate 用于我们的 Rails 控制器:

 @module_actions = @module_actions.page(params[:page]).per_page(30)

这里params[:page]有什么用? params[:page]的0是否表示显示@module_actions的第一页(一页有30条记录)?

【问题讨论】:

    标签: ruby-on-rails will-paginate


    【解决方案1】:

    这里的页面是指您要查看的页码。每个页面都包含一些特定数量的记录,您可以设置或使用默认值。 page 的范围从 1 开始,并且可以更远。如果您有 100 条 @module_actions 记录,请查看以下输出。

    @module_actions = @module_actions.page(1).per_page(30) # 1-30 records
    @module_actions = @module_actions.page(2).per_page(30) # 31-60 records
    @module_actions = @module_actions.page(3).per_page(30) # 61-90 records
    @module_actions = @module_actions.page(4).per_page(30) # 91-100 records
    @module_actions = @module_actions.page(5).per_page(30) # empty array
    

    如果您尝试访问第 0 页的记录,则会收到错误消息。

    @module_actions = @module_actions.page(0).per_page(30) # Throws RangeError: invalid page: 0
    

    【讨论】:

      【解决方案2】:

      params[:page] = 0 不起作用。为了显示第一页,它应该是 params[:page] = 1 即链接应该是

       localhost/something?page=1
       localhost/something?page=2
      

      默认情况下,即使您删除?page=1,它也会显示首页内容,即

      localhost/something?page=1 
      

      一样
      localhost/something
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-02-07
        • 1970-01-01
        • 1970-01-01
        • 2012-04-27
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多