2013-01-17 3 views
1

내가 직접 링크를 만들 수 있도록 댓글이 달린 페이지를 계산해야합니다. 나는 monogid으로 페이지 번호 kaminari을 사용하고 있습니다. kaminari's wiki에 그들은 activerecord를 사용하는 방법에 대한 해결책을 가지고 있지만 몽고로 (mongoid)로 번역하는 가장 좋은 방법은 확실치 않습니다. 이 도움이kaminari와 mongoid를 사용하여 모델이있는 페이지 계산하기

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 

희망 :

답변

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 
0

당신이 Mongoid 3 사용하는 경우,이 메소드는 작업을 수행합니다.