1

Will_Paginate::Collection次のコードを使用してオブジェクトを作成しています

@paginatedResults = WillPaginate::Collection.new(1, 5)
@paginatedResults.replace @results[@paginatedResults.offset, 
                                   @paginatedResults.per_page]

しかし、使用してページネーションをレンダリングしようとすると

<%= will_paginate @paginatedResults %>

例外が発生します

You have a nil object when you didn't expect it!
The error occurred while evaluating nil.>

オブジェクトのtotal_entriesプロパティまでさかのぼりました。Will_Paginate::Collectionsプロパティがありません。どうしてか分かりません。

何か案は?

4

1 に答える 1

2

new を使用して作成する場合は、API ドキュメントから手動でカウントを行う必要があります。

新規 (ページ、ページごと、合計 = nil)

コンストラクターへの引数は、現在のページ番号、ページごとの制限、およびエントリの総数です。最後の引数は、遅延カウントを行うのが最善であるため、オプションです。つまり、replace メソッドを使用してコレクションを作成した後、条件付きでカウントします。

于 2009-12-11T05:47:50.403 に答える