我需要计算评论的页面,以便我可以创建一个直接链接。我正在kaminari使用monogid分页。在kaminari's wiki,他们有一个关于如何使用activerecord进行解决的解决方案,但我不确定将其转换为mongoid的最佳方法。
答案 0 :(得分:0)
如果您使用的是Mongoid 3,此方法可以完成这项工作:
class User
include Mongoid::Document
...
def page_num(options = {})
field = options[:by] || :_id
order = options[:order] || :asc
per = options[:per] || self.class.default_per_page
operator = (order == :asc) ? field.to_sym.lte : field.to_sym.gte
(self.class.where(operator => read_attribute(field)).order_by("#{field} #{order}").count.to_f / per).ceil
end
...
end
希望这有帮助。
答案 1 :(得分:0)
这是我最终提出的一个精简版本。
def page_num
number_before = self.class.where(recipe_id: recipe.id).gte(created_at: created_at).count.to_f
number_on_page = self.class.default_per_page
(number_before / number_on_page).ceil
end