Question

Je suis en train de créer un objet Will_Paginate::Collection en utilisant le code suivant

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

mais lorsque je tente de rendre la pagination en utilisant

<%= will_paginate @paginatedResults %>

Je reçois une exception

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

Je l'ai tracé revenir à la propriété total_entries sur l'objet Will_Paginate::Collections. La propriété est manquante. Je ne sais pas pourquoi.

Toutes les idées?

Était-ce utile?

La solution

Vous devez faire le décompte manuellement si vous utilisez nouveau pour créer, à partir de l'API docs:

  

nouvelle (page per_page, total = nul)

     

Les arguments au constructeur sont le numéro de page, limite par page et le nombre total d'entrées. Le dernier argument est facultatif, car il est préférable de faire le comptage paresseux; en d'autres termes, compte conditionnellement après remplissage de la collection en utilisant la méthode remplacer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top