Ruby on Rails使用Kaminari gem为对象数组分页

时间:2012-04-11 08:09:55

标签: ruby-on-rails-3 activerecord pagination kaminari

我试图做过滤部分。过滤意味着,当用户根据该产品选择某些选项时,将显示详细信息。如果用户选择女性(部门)和男性部门,则应显示属于女性和男性的所有产品。为此,我使用太阳黑子并连接两个对象。它工作正常。但是当我尝试使用Kaminari进行分页时,如果用户只选择一个像女性一样的部门,它就可以正常工作。

如果用户同时选择男性和女性,那么它会抛出如下错误:

  

数组

的未定义方法`current_page'

正在执行上述工作,如下面的代码。

deptids=["1" "2"]
deptids.each do |did|
    @search_res=ProductDetail.search do
        with :department_id, did                  
        paginate :page=>params[:page], :per_page=>15
    end
end

任何人都可以告诉我如何使用Kaminari Gem对物体数组进行分页?

请告诉我如何使用Kaminari进行一系列对象分页或如何将两个对象附​​加到一个单个对象中

1 个答案:

答案 0 :(得分:0)

我在this Stackoverflow link的帮助下解决了这个问题。

我更改的代码是在product_details控制器

def index
    count=ProductDetail.count
    deptids=["1" "2"]
    deptids.each do |did|
        @search_res=ProductDetail.search do
            with :department_id, did    
            paginate :page=>1, :per_page=>count
        end
    end
    if @products.present?
        unless @products.kind_of?(Array)
          @products = @products.page(params[:page]).per(30)
        else
          @products = Kaminari.paginate_array(@products).page(params[:page]).per(30)
        end
    end
end

在视图中_index.html.erb

<%= paginate @products, :remote=>true %>