will_paginate 中的参数[:页面]
params[:page] in will_paginate
Gem will_paginate
用于我们的 Rails 控制器:
@module_actions = @module_actions.page(params[:page]).per_page(30)
这里params[:page]
有什么用? params[:page]
的0是不是表示显示@module_actions
的第一页(一页有30条记录)?
params[:page] = 0
将无法正常工作。对于显示第一页,它应该是 params[:page] = 1
即 link 应该是
localhost/something?page=1
localhost/something?page=2
默认情况下,即使您删除 ?page=1
它也会显示第一页内容,即
localhost/something?page=1
与
相同
localhost/something
这里page是指你要查看的页码。每个页面都包含一些特定数量的记录,您可以设置或使用默认值。 page 的范围从 1 开始,可以到任何更远的地方。如果 @module_actions
有 100 条记录,请查看下面的输出。
@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
Gem will_paginate
用于我们的 Rails 控制器:
@module_actions = @module_actions.page(params[:page]).per_page(30)
这里params[:page]
有什么用? params[:page]
的0是不是表示显示@module_actions
的第一页(一页有30条记录)?
params[:page] = 0
将无法正常工作。对于显示第一页,它应该是 params[:page] = 1
即 link 应该是
localhost/something?page=1
localhost/something?page=2
默认情况下,即使您删除 ?page=1
它也会显示第一页内容,即
localhost/something?page=1
与
相同localhost/something
这里page是指你要查看的页码。每个页面都包含一些特定数量的记录,您可以设置或使用默认值。 page 的范围从 1 开始,可以到任何更远的地方。如果 @module_actions
有 100 条记录,请查看下面的输出。
@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