2010-10-28 59 views
2

我很努力使用mongoid分頁。我可以在我的收藏對象上打電話分頁,例如Mongoid分頁問題

@results = @collections.paginate :page => 1, :per_page => 10 

但是如何在需要時查看它?
我認爲我已經呈現該集合中的部分作爲

<%= render :collection => @collections, :partial => collect.xml %> 
<%= will_paginate @results %> 

在上述線I得到的錯誤未定義的方法TOTAL_PAGES爲陣列。

但是,如果我在視圖中刪除了will_paginate調用並且所有集合都在沒有分頁的視圖中顯示,那麼沒有錯誤。請幫助。

我想我在調用分頁助手時出錯了。我搜索了很長時間,沒有找到一個包含mongoid分頁調用的例子。

原諒我,如果這是一個愚蠢的問題。我是mongoid的新手。

回答

4

此方法調用

@results = @collections.paginate :page => 1, :per_page => 10 

將填充@results具有10項從@collections陣列。根本不需要使用will_paginate,只需使用@results對象即可。

如果您在視圖中出現問題並提供10個以上的結果,請調試控制器和視圖以確保沒有與@results陣列發生混淆。

編輯:

啊哈,所以這個問題是在顯示在視圖分頁鏈接。是的,因爲您需要該視圖來了解當前頁面和可用頁面的總數,以便您可以計算需要多少鏈接。

作爲回報,您的鏈接需要讓控制器知道哪些頁面正在被請求,哪些可以通過GET請求參數實現。幫手可能是保持視圖清潔的最佳方式。

+0

謝謝安德烈斯,是的,我確實得到了在視圖中顯示的10個結果。但我的問題是在視圖中顯示分頁鏈接。所以我們需要建立一個自定義的助手來顯示分頁鏈接嗎?我需要一個這樣的事情使用extjs – ljay 2010-10-29 03:38:56

+0

我已經更新了基於您的評論的答案,我希望它已經足夠清楚了! – 2010-11-01 19:45:20