Mongoid分页问题

时间:2010-10-28 05:08:52

标签: pagination mongoid will-paginate

我正在努力使用mongoid分页。我可以在我的集合对象上调用paginate,如

@results = @collections.paginate :page => 1, :per_page => 10

但是如何看待它呢? 在我看来,我将部分渲染为

<%= render :collection => @collections, :partial => collect.xml %>
<%= will_paginate @results %>

在上面的一行中,我得到了数组的错误未定义方法total_pages。

但如果我在视图中删除了will_paginate调用并且所有集合都显示在视图中而没有分页,则没有错误。请帮助。

我认为在调用分页助手时我出错了。我已经搜索了很长时间,并没有找到一个包含为mongoid进行分页调用的示例。

如果这是一个愚蠢的问题,请原谅我。我是mongoid的新手。

1 个答案:

答案 0 :(得分:4)

此方法调用

@results = @collections.paginate :page => 1, :per_page => 10

将使@results中包含10个项目的数组填充@collections。您根本不需要使用will_paginate,只需按原样使用@results对象。

如果您的视图出现超过10个结果的问题,请调试控制器和视图,以确保在您的@results数组之间没有任何内容。

编辑:

啊哈,所以问题在于在视图上显示分页链接。是的,为此你需要视图知道诸如当前页面和可用页面总数之类的内容,这样你就可以计算出必要的链接数量。

作为回报,您的链接需要让控制器知道正在请求的页面,您可以使用GET请求参数来实现。助手可能是保持视野清洁的最佳方式。