rails 技術ブログ

rails 技術ブログ

勉強したことをアウトプットしていきます

Kaminariを使ってページネーションする

ページネーションとは

コメント一覧などを表示した時に、数が多くなると下の方までスクロールするのが大変になる。
そこで、ページを分割して表示するもの。

使い方

公式サイトはこちらです。
https://github.com/kaminari/kaminari

①Kaminariをインストールする

gem 'kaminari'

bundle installでGemを読み込む

$ bundle install


②追加したいコントローラーのアクションに設定をする

@users = User.order(:name).page(params[:page])
#.page(params[:page])の部分を記述することでページネーションが可能になる

③ビューのページネーションを表示させたい箇所に以下のコードを追加する

<%= paginate @users %>



設定が完了すると<%= paginate @users %>と記述した箇所に以下のようなページネーションが現れます。
(添付写真はBootstrap4のスタイルを当てています) f:id:terakura-aina:20201111142928p:plain

カスタマイズ等

公式ページにも記載がありますが、1ページに表示する数などがデフォルトで設定されているので、設定を変えたい場合は、

$ rails g kaminari:config

とコマンドを実行するとconfigファイルが作成されるので、そのファイルをいじることで変更することが可能です。

# frozen_string_literal: true

Kaminari.configure do |config|
  # config.default_per_page = 25
  # config.max_per_page = nil
  # config.window = 4
  # config.outer_window = 0
  # config.left = 0
  # config.right = 0
  # config.page_method_name = :page
  # config.param_name = :page
  # config.max_pages = nil
  # config.params_on_first_page = false
end

設定を変更するときは最初の#を外し、数字等を書き換えることで変更可能になります。