2012-04-11 47 views
0

正在嘗試執行過濾部分。過濾意味着,當用戶選擇一些基於該產品細節的選擇將被顯示。如果用戶選擇女性(部門)和男性部門,則應顯示屬於女性和男性的所有產品。爲此,我將兩個對象連接起來。它工作正常。但是,當我試圖做分頁則拋出一個錯誤,如:在Ruby on Rails上連接相同模型的兩個活動記錄併爲結果對象應用分頁

未定義的方法`CURRENT_PAGE」的陣列

我想連接兩個ActiveRecord對象和結果應該是在同一個活躍的對象只記錄。請告訴我如何做到這一點。

現在什麼我試圖爲:

@products += @prods 

編輯

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

怎麼看'@ products'&'@ prods'創建這將是有益的。 – 2012-04-11 06:07:50

+0

可能,你需要這個http://stackoverflow.com/questions/4352895/ruby-on-rails-will-paginate-an-array – Pravin 2012-04-11 06:51:25

回答

0

谷歌搜索我才知道,問題出在分頁,因爲我得到了數組未定義的方法CURRENT_PAGE後。因此我使用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 
相關問題