我正在使用 will_paginate gem,对记录数组进行分页。
它显示了分页链接。让我们默认说前 5 条记录,但是当我单击第 2 页时,整个页面变为空白。
代码如下: -
<%@report=@report.paginate(:page => params[:page], :per_page => 5) %>
<%= will_paginate @report %>
这里@report 是记录数组。请帮忙
我正在使用 will_paginate gem,对记录数组进行分页。
它显示了分页链接。让我们默认说前 5 条记录,但是当我单击第 2 页时,整个页面变为空白。
代码如下: -
<%@report=@report.paginate(:page => params[:page], :per_page => 5) %>
<%= will_paginate @report %>
这里@report 是记录数组。请帮忙
看起来,在你看来,你做了一个
@report = Report.all
你应该把它改成
@report=Report.paginate(:page => params[:page], :per_page => 5)
这是上面代码片段中的第一行。每次从一个页面导航到另一个页面时,.paginate
将从数据库中获取等于per_page
( ) 的记录数。LIMIT
它将page
用作OFFSET
. 因此,如果您正在访问第 2 页,则OFFSET
值为
(page number - 1) x per page
(2 - 1) x 5 = 5
意思是,第 2 页将显示 id 从 6(OFFSET + 1)
到 10的记录(OFFSET + LIMIT)
对于第 5 页,偏移量将为
(5 - 1) x 5 = 20
因此,第 5 页上的记录的 id 为 21 到 25。依此类推...
要启用 will_paginate 执行此操作,您应该调用.paginate
模型Report
。不在实例变量上@report