2013-07-25 18 views
6

Dies ist mein erster Versuch will_paginate mit (ich weiß, Wo bin ich ?? gewesen!)Rails 4 - will_paginate

titles_controller.erb

def index 
    @titles = Title.active.sorted.paginate(:page => params[:page]) 
    end 

index.html.erb

<% will_paginate @titles.each do |title| %> 

Fehler:

undefined method `total_pages' for #<Enumerator:0x00000002bacaf0> 

WTF bin ich d falsch? Danke im Voraus.

Antwort

11

Bitte lesen wird paginieren docs. Sie müssen schreiben:

<%= will_paginate @posts %> 

Es besteht keine Notwendigkeit für das Hinzufügen von each ist.

So gesamte Ansicht würde wie folgt aussehen:

<% @titles.each do |title| %> 
    <!-- do smth with title --> 
<% end %> 

<%= will_paginate @titles %> 
+0

Danke - Ich habe die Dokumente gelesen, aber dachte, dass der Aufruf want_paginate an der Spitze ging. Hab es jetzt verstanden. –

+2

Hey, tut mir leid, wenn das grob klang, war es nicht meine Absicht;) – Lucas

3

In Ihrem Fall müssen Sie nicht acctually schreiben müssen:

<%= will_paginate @titles %> 

Weil es im Rahmen des title_controller ist, will_paginate ihre heißt nehmen Eine Variable @titles verfügbar. So ist es möglich, nur zu schreiben:

<%= will_paginate %>