Pagination Mongoid分页

Pagination Mongoid分页,pagination,mongoid,Pagination,Mongoid,我试过了 及 但这两种方法都不管用 @posts = Post.paginate(:page => 1, :per_page => 10) 如何使用mongoid进行分页?您应该使用Kaminari这对我来说很好: undefined method `page' for Post:Class undefined method `paginate' for Post:Class desc(:_id)被添加,以便可以首先列出最新的帖子。愚蠢的事情,但在我添加了require

我试过了

但这两种方法都不管用

@posts = Post.paginate(:page => 1, :per_page => 10)    

如何使用mongoid进行分页?

您应该使用Kaminari

这对我来说很好:

undefined method `page' for Post:Class

undefined method `paginate' for Post:Class

desc(:_id)
被添加,以便可以首先列出最新的帖子。

愚蠢的事情,但在我添加了require'mongoid pagination'后,它在sinatra对我有效
到app.rb有点晚了,但对于其他人来说,我发现“will_paginate_mongoid”

非常直截了当,让你简单地去做

@posts = Post.paginate(:page => 1, :limit => 10).desc(:_id)

仍然使用will_paginate也可以

此线程有相同的问题:

修复错误的要点是在控制器调用paginate库之前添加此行:

collection.skip(20).limit(10)
如果对整个项目使用mongoid,则应将其添加到默认配置文件中

希望解释有帮助

参考来源:在“WillPaginate::Collection”部分

p/S:如果您的查询不是很大,这只是一个解决办法。如果您想要更好的性能,让我们试试,或者其他支持Mongoid-like的分页gem。

使用以下gem

非常有用


几年后发布,以防其他人面临同样的挑战

kaminari mongoid
于2016年发布,目前正在维护


Kaminiari对Mongoid的所有好处,包括对
Mongoid::Criteria
结果的适当处理,这可能是OP错误的原因。

为了更新一点答案,现在存在gem,它的性能(cpu/mem)也比will paginate和kaminari高得多。这是一个

我在使用mongoid时也会遇到这些错误。没有页面方法。在rails g kaminari:config之后是否重新启动了服务器?kaminari在rails 4.0.0和Mongoid 4.0.0中非常适合我。有一个will_paginate_Mongoid,但您需要will_paginate和will_paginate_Mongoid两者都使用。仅使用kaminari的简单性和易用性使其成为首选。在我将
gem'mongoid pagination'
添加到我的
Gemfile
中后,这对我来说非常有效。该项目的最后一次提交时间是2017年5月23日,我更喜欢Kaminarif,因为某些原因,您需要使用
将分页
并运行
rails-4
将分页
上次我检查时,它不起作用。解决方案是在
app/models/concerns
中,删除外部的
模块WillPaginateMongoid
,然后
在模型类中包含MongoidPaginator
。will\u paginate\u mongoid看起来不再是主动维护的。我认为,WelpPalpite的原版版本不支持任何像蒙古文这样的SQL数据库,因此调用GEM的基核将通过考虑像正常数组那样的数据库记录来解决这个问题,而不是像MySQL、SQLite这样的特殊SQL数据库格式。…这应该是正确的答案,不推荐其他gem。只需使用一些库与MongoDB进行分页即可。您可以使用:gem“will_paginate”和gem“will_paginate_mongoid”这对mongoid 7.X有效吗?这对我不起作用。总是返回
未定义的方法页面
。我会迁移到pagygem。卡米纳里性能与记忆。使用情况甚至比将其命名为mongoid更糟糕,
collection.skip(20).limit(10)
require 'will_paginate/array'