2013-07-05 53 views
0

頁面是否有可能有雷助手和使用已分頁數據:雷和elasticsearch

我查詢elasticsearch,使所有分頁有2頁得到10條記錄。

2.然後我得到的模型實例

情況下,應該在UI顯示與頁面的按鈕例如1,2,3下一頁>

我不知道如何與Kaminary幫手做它,它總是抱怨:

未定義的方法`CURRENT_PAGE爲#<的ActiveRecord ::關係

回答

0

我假設您正在使用gem Tire與rails上的elasticsearch進行集成。

Kaminari默認在Activerecord結果集/集合或直接在Tire結果對象上工作。舉例來說,如果你有一個模型PostTire整合,你可以說,

results = Post.search do 
    query do 
     #.. 
    end 
    size 10 
    from (page_num - 1) * 10 
end 

results.next_page #returns true if next page is present 
results.total #return total number of search results available 

而且在你看來,你可以直接使用

<%= paginate results %> 

,關鍵是要維持或保持到ActiveRecord的結果的參考設置或輪胎結果。 Paginate方法沒有在ActiveRecord模型實例上定義。

如果你想從彈性的搜索結果,然後根據獲取的負荷從數據庫中的記錄ID,然後發回你不能使用你paginate將不得不使用數組Paginating Arrays with Kaminari的雷法的數組。

可以代替直接告訴tire加載活動記錄對象:

Post.search 'term', :load => true