我使用的是will_paginate gem,用于记录数组的分页。
它显示了分页链接。我们默认说前五条记录,但是当我点击第2页时,整个页面都是空白的。
代码如下: -
<%@report=@report.paginate(:page => params[:page], :per_page => 5) %>
<%= will_paginate @report %>
这里@report是一系列记录。 请帮忙
答案 0 :(得分: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页上的记录将具有从21到25的ID,依此类推......
要启用will_paginate执行此操作,您应该在模型.paginate
上调用Report
。不在实例变量@report