Неопределенный метод `current_page'для #<Array: 0x007fd5ef6dd158> kaminari

Rails 3.2.8 я использую kaminari для разбиения на страницы, но я получаю сообщение об ошибке: неопределенный метод `current_page'для #

в posts_controller.rb

def index
  @posts = Post.order(:created_at).page(params[:page])
end

в views/posts/index.html.erb

<%= paginate @posts %>

В чем может быть проблема?

1 ответ

Попробуйте изменить код на

@posts = Post.order(:created_at)

Kaminari.paginate_array(@posts).page(params[:page]).per(10)

Или же

@posts = Post.order(:created_at).page(params[:page]).per(10)
Kaminari.paginate_array(@posts).page(params[:page]).per(10)

И вы можете написать любое число вместо 10 => .per(10). Пусть код представления останется прежним.

will_paginate по умолчанию поставляется с нумерацией страниц ActiveRecord::Relation но для массива нам нужно использовать именно этот метод.

Другие вопросы по тегам