0

我正在尝试做过滤部分。过滤是指,当用户根据该产品的详细信息选择一些选项时,将被显示出来。如果用户选择女性(部门)和男性部门,它应该显示属于女性和男性的所有产品。为此,我连接了两个对象。它工作正常。但是,当我尝试进行分页时,它会抛出如下错误:

数组的未定义方法“current_page”

我想连接两个 ActiveRecord 对象,结果应该只在同一活动记录的对象中。请告诉我如何做到这一点。

现在正在尝试的是:

@products += @prods

编辑

deptids=["1" "2"]
deptids.each do |did|
    @prods=ProductDetail.where("department_id=?",did)
    if !(@products.nil?)
        @products += @prods
    else
        @products=@prods
    end
end
4

1 回答 1

0

谷歌搜索后,我知道问题出在分页上,因为我正在为数组获取未定义的方法 current_page。因此我使用 kaminari paginate 数组进行分页,我的问题得到了解决。对于 Kaminari 分页数组,我参考了这个 stackoverflow 链接

我已经像这样更改了我的代码:

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.nil?)
        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
于 2012-04-12T04:28:04.517 回答