SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

ActionView::Template::Error (undefined method `total_pages' for #<User::ActiveRecord_Relationのエラー対処方法


初歩的なkaminariのエラーですが。

ActionView::Template::Error (undefined methodtotal_pages' for #<User::ActiveRecord_Relation`

でのエラーが indexのメソッドで出ちゃうな、という時。

    if params[:user_id]
      @users = User.where(xxx_user_id: params[:user_id]).page(params[:page])
    else
      @users = User.all.order(id: :desc).page(params[:page]).per(50)
    end

こういうケースの場合です。

indexで検索すな、ということはあるかもしれませんが、 簡易実装の時はやりたい時が多いはず。

ともあれ、 .per()を忘れると、 total_pagesが呼ばれなくなってしまうので、そこです。

複数件返る想定で考えたら、当たり前でした。