我正在製作一個Spree網站,其中包含鏈接,用於更改每個頁面上的產品數量,包括全部鏈接。一個數字的鏈接很容易,因爲我可以通過查詢字符串和輔助方法傳遞一個:per_page
參數。然而,我無法弄清楚我需要傳遞給Kaminari沒有分頁還是暫時禁用Kaminari。暫時禁用Spam中的Kaminari分頁
我很高興爲Spree或Kaminari的解決方案。我寧願使用除:per_page = 1000
之外的方法或者一些類似的大數字。
- 施普雷0.70.3
- 雷0.13.0
我正在製作一個Spree網站,其中包含鏈接,用於更改每個頁面上的產品數量,包括全部鏈接。一個數字的鏈接很容易,因爲我可以通過查詢字符串和輔助方法傳遞一個:per_page
參數。然而,我無法弄清楚我需要傳遞給Kaminari沒有分頁還是暫時禁用Kaminari。暫時禁用Spam中的Kaminari分頁
我很高興爲Spree或Kaminari的解決方案。我寧願使用除:per_page = 1000
之外的方法或者一些類似的大數字。
你可以傳遞一個查詢字符串參數,然後將其過濾你的控制器動作裏面?例如:
def show
@products = unless params[:show_all]
Product.page(params[:page]).per(params[:per_page])
else
Product.all
end
end
我知道這不會給你在任何施普雷或雷一個解決方案,但它可能會幫助解決的問題。我很想知道是否有另一種方式建立到圖書館。
這是我怎麼一直在做,因爲我需要的輔助方法是雷增加的記錄列表:
params[:per] = Product.count if params[:per] == 'all'
Product.page(params[:page]).per(params[:per])
這將避免undefined method 'current_page' for #<Array:0x007fc6157c16a8>
錯誤。 (本質上@永和在對方的回答的意見建議。)
嘗試使用此方法處理未定義的方法「CURRENT_PAGE」
=paginate @object if @object && @object.try(:total_pages)
是否與雷傭工工作的呢? – Amanda 2012-06-06 07:04:45
@parndt測試表明這基本上可行,但Spree在其深處設置了「@ products」等價物,因此您必須在控制器裝飾器中攔截事物並使用'params [:per_page] = Product.count更改查詢字符串參數如果params [:per_page] =='all'' – Yogh 2012-06-06 07:07:08
不幸的是,只要將它設置爲'Products.all',就會導致#'未定義的方法'current_page',因爲它期望Kaminari對象。看起來像修改'params [:per_page]'是唯一的解決方案。 –
Amanda
2012-06-06 07:15:28