首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoid分页

Mongoid分页
EN

Stack Overflow用户
提问于 2011-12-18 09:40:15
回答 8查看 11.7K关注 0票数 16

我试过了

代码语言:javascript
复制
@posts = Post.page(params[:page]).per_page(10)

代码语言:javascript
复制
@posts = Post.paginate(:page => 1, :per_page => 10)    

但是这两种方法都不管用。

代码语言:javascript
复制
undefined method `page' for Post:Class

undefined method `paginate' for Post:Class

您如何使用mongoid进行分页?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2011-12-21 23:20:14

您应该使用Kaminari https://github.com/amatsuda/kaminari

票数 12
EN

Stack Overflow用户

发布于 2012-09-12 15:34:38

这对我来说很好:

代码语言:javascript
复制
@posts = Post.paginate(:page => 1, :limit => 10).desc(:_id)

添加了desc(:_id),以便最新的帖子可以列在第一位。

票数 5
EN

Stack Overflow用户

发布于 2014-02-19 01:02:40

仍然使用will_paginate也没问题。

这个线程也有同样的问题:undefined method `paginate' for Array on Rails 3 with mongoid

修复错误的要点是在控制器调用分页库之前添加下面这一行:

代码语言:javascript
复制
require 'will_paginate/array'

如果您在整个项目中使用mongoid,应该将其添加到默认配置文件。

希望这个解释能对你有所帮助。

来自原始gem源的引用:位于"WillPaginate::Collection“部分的https://github.com/mislav/will_paginate/wiki/Backwards-incompatibility

P/S:如果您的查询不是很大,这只是一个变通办法。如果你想要更好的性能,让我们试试mongoid-pagination gemcustom will_pagination gem或者像kaminari这样支持Mongoid的分页gem。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8549256

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档