2010-10-28 56 views
2

我很努力使用mongoid分页。我可以在我的收藏对象上打电话分页,例如Mongoid分页问题

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

但是如何在需要时查看它?
我认为我已经呈现该集合中的部分作为

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

在上述线I得到的错误未定义的方法TOTAL_PAGES为阵列。

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

我想我在调用分页助手时出错了。我搜索了很长时间,没有找到一个包含mongoid分页调用的例子。

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

回答

4

此方法调用

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

将填充@results具有10项从@collections阵列。根本不需要使用will_paginate,只需使用@results对象即可。

如果您在视图中出现问题并提供10个以上的结果,请调试控制器和视图以确保没有与@results阵列发生混淆。

编辑:

啊哈,所以这个问题是在显示在视图分页链接。是的,因为您需要该视图来了解当前页面和可用页面的总数,以便您可以计算需要多少链接。

作为回报,您的链接需要让控制器知道哪些页面正在被请求,哪些可以通过GET请求参数实现。帮手可能是保持视图清洁的最佳方式。

+0

谢谢安德烈斯,是的,我确实得到了在视图中显示的10个结果。但我的问题是在视图中显示分页链接。所以我们需要建立一个自定义的助手来显示分页链接吗?我需要一个这样的事情使用extjs – ljay 2010-10-29 03:38:56

+0

我已经更新了基于您的评论的答案,我希望它已经足够清楚了! – 2010-11-01 19:45:20