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のスタイルを当てています)
カスタマイズ等
公式ページにも記載がありますが、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
設定を変更するときは最初の#
を外し、数字等を書き換えることで変更可能になります。