2013-07-25 2 views
6

Это моя первая попытка с помощью will_paginate (я знаю, где я был ??!)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| %> 

Ошибка:

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

WTF am I d неправильно? Заранее спасибо.

ответ

11

Прочтите, будет разбита на страницы docs. Вам нужно написать:

<%= will_paginate @posts %> 

Там нет необходимости для добавления each.

Так весь вид будет выглядеть так:

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

<%= will_paginate @titles %> 
+0

Спасибо - я прочитал документы, но думал, что вызов will_paginate будет сверху. Получил это сейчас. –

+2

Эй, извините, если это звучало грубо, это было не мое намерение;) – Lucas

3

В вашем случае, если вы не делаете Acctually нужно написать:

<%= will_paginate @titles %> 

Потому что в контексте title_controller, will_paginate будем считать их это доступна переменная @titles. Таким образом, можно просто написать:

<%= will_paginate %> 
Смежные вопросы