2015-07-13 99 views
0

我有一種使用solr獲取結果的方法。例如。如何使用Kaminari Gem多個標籤頁分頁

def test 
    @result1 = Model1.search do 
     fulltext params[:search] 
     paginate page: params[:page], per_page: 12 
    end 
    @result2 = Model2.search do 
     fulltext params[:search] 
     paginate page: params[:page], per_page: 12 
    end 

end 

現在我有2個結果,我在測試頁跨越2個標籤顯示這一點。

當我通過選項卡顯示內容時,數據會在每個選項卡中正確填充,但我在分頁時遇到問題。

當我點擊在result2選項卡中的第3頁上點擊時,它會顯示result2的page3,但是當我點擊result1選項卡時,它會將我帶到result1選項卡的page3。當我點擊result1選項卡時它應該進入page1。

<%= paginate @result1 ,:params => { :anchor => 'result1' }%> 

<%= paginate @result2 ,:params => { :anchor => 'result2' }%> 

我該如何解決這個問題。我正在使用kaminari寶石進行分頁。

+0

您可以使用參數散列並傳遞唯一標識符,例如params => {:from_tab1 =>「tab1」, :from_tab1 =>「tab2」}因此,在控制器中,您可以使用它來識別哪個標籤來自哪個標籤,然後對其進行分頁並進行相應更新。 – Milind

回答

0

您可以使用該選項param_name在雷像這樣

<%= paginate @result1, param_name: 'result1' %> 

且同樣@ RESULT2。那麼,而不是params[:anchor]你應該使用params[:result1]來獲得頁碼。由於您將爲@ result1和@ result2使用不同的參數名稱,因此它們不會互相干擾