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 %>