0

我正在使用 will_paginate gem,对记录数组进行分页。

它显示了分页链接。让我们默认说前 5 条记录,但是当我单击第 2 页时,整个页面变为空白。

代码如下: -

 <%@report=@report.paginate(:page => params[:page], :per_page => 5) %>
 <%= will_paginate @report %>

这里@report 是记录数组。请帮忙

4

1 回答 1

0

看起来,在你看来,你做了一个

@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

于 2013-10-09T10:20:15.670 回答