Rails 4 - will_paginate

Это моя первая попытка использования 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 я делаю не так? Заранее спасибо.

2 ответа

Решение

Пожалуйста, прочитайте документацию. Вам нужно написать:

<%= will_paginate @posts %>

Нет необходимости добавлять each,

Таким образом, весь вид будет выглядеть так:

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

<%= will_paginate @titles %>

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

<%= will_paginate @titles %>

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

<%= will_paginate %>
Другие вопросы по тегам