我试图做过滤部分。过滤意味着,当用户根据该产品选择某些选项时,将显示详细信息。如果用户选择女性(部门)和男性部门,则应显示属于女性和男性的所有产品。为此,我连接两个对象。它工作正常。但是当我试图进行分页时,它会抛出一个错误:
数组
的未定义方法`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
答案 0 :(得分:0)
在谷歌搜索之后我开始知道问题是分页的,因为我得到了未定义的方法current_page for Array。因此我使用kaminari paginate数组进行分页,我的问题得到解决。对于Kaminari paginate数组,我提到了this stackoverflow link。
我改变了我的代码:
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