ページネーションを爆速で実装する!![5分]


はじめに

今回はgem'kaminari'を使ってページネーションを爆速実装していきます

ページネーション

ページネーションとは長い文章を複数のページに分割して、各ページへのリンクを並べアクセスしやすくすることです。

これですね。データの数が多くなるとよそうされる時に使用しましょう!!

'kaminari'の導入

Gemfile
gem 'kaminari'
ターミナル
bundle install

インスタンス変数の定義

Users_controller.rb
  def index
    @users = User.order("created_at DESC").page(params[:page]).per(5)
  end

ページネーションを表示したいコントローラーのアクションで定義する。

per(5)にすれば5つで1ページ、per(10)にすれば10つで1ページになります。

Viewページ

Users/index.html.erb
<%= paginate(@users) %>

表示したいところにこの記述を挿入するだけ。
めちゃめちゃかんたんですね、、、


こんな感じ。bootstrapを使えば簡単に装飾もできます。

備考

インスタンス変数の値が配列なるときは上記の書き方だとエラーが起こってしまいます。
そんなときは.paginate_arrayメソッドを使いましょう。

Users_controller.rb
  def index
    @users = Kaminari.paginate_array(@users).page(params[:page]).per(5)
  end

こうすれば大丈夫です。

おわりに

なんで雷なんだろう、、、