2013-07-31 151 views
3

我建立了一個網站,使用由Kaminari驅動的AJAX分頁。我也設置了簡單的過濾和搜索功能,所以你可以在http://example.com/products/filter?query=blah上瀏覽我的清單。與Kaminari過濾分頁

我使用Kaminari的內置link_to_next_page幫助程序來生成我的下一頁鏈接。這個問題是關於因爲這個生成的鏈接忽略我的查詢/過濾器,發送關於http://example.com/products/filter?query=blah任何人http://example.com/products?page=2

一個解決方案,我用是重寫link_to_next_page幫手,包括我的過濾器和搜索方面玩弄,但這是(就像所有的事情一樣),比預期更多的工作。有沒有更好的辦法?

回答

6

根據link_to_next_page文件,它應該從ENV獲得QUERY_STRING,所以它將繼續查詢參數

def link_to_next_page(scope, name, options = {}) 
    params = options.delete(:params) ||(Rack::Utils.parse_query(env['QUERY_STRING']).symbolize_keys rescue {}) 

,如果它希望不工作,你可以通過自己PARAMS

<%= link_to_next_page @items, 'Next Page', :params => params %> 
+0

作品!它要求http://example.com/products?page=2&filter=examplefilter的下一頁,而不是http://example.com/products/examplefilter?page=2,但這並不理想。 – AlexQueue