#<Tuto::ActiveRecord_Relation:0x007fc3b2473d80> 的未定义方法“total_pages”

undefined method `total_pages' for #<Tuto::ActiveRecord_Relation:0x007fc3b2473d80>

我发现了几个类似的案例,但没有解决我的问题...

我正在使用 gem Kaminari 为我的应用分页。

自从我添加后,研究失败并重新运行此错误undefined method total_pages' for #<Tuto::ActiveRecord_Relation:0x007fc3b2473d80>

我的 tutos 控制器 中有一个私有方法来过滤我的 tutos

 def filter_tutos
  return if params[:query].blank?
  @tutos = Tuto.search(params[:query][:keyword]).includes(:user, :category) if params[:query][:keyword].present?
  @tutos = Tuto.joins(:user).where('users.nickname LIKE ?', params[:query][:user]) if params[:query][:user].present?
  @tutos = Tuto.joins(:category).where('categories.name LIKE ?', params[:query][:category]) if params[:query][:category].present?
 end

index tutos 控制器中的方法:

  def index
    filter_tutos if params[:query].present?
    @tutos ||= Tuto.all.page params[:page]
  end

在我看来我有:

  .pagination
      = paginate @tutos

我在 tuto 模型中添加了 paginates_per 5

试试这个。 @tutos 上未调用分页。如果它是空白的,那么所有 Tuto 对象都被分页,但不是。

  def index
    filter_tutos if params[:query].present?
    @tutos = @tutos.count > 0 ? @tutos : Tuto.all
    @tutos = @tutos.page params[:page]
  end