【rails】掲示板にページネーションを実装

はじめに

掲示板にページネーションを実装する方法について

設定方法

まずはkaminariというGemをインストールします。

gem 'kaminari'
$ bundle install
下記のコマンドで`kaminari`の設定ファイルを生成します。
$ rails g kaminari:config
デフォルトでは25件ずつページネーションされます。 この設定を例えば20件ずつに変えたい場合は、先程生成したファイルを変更します。
Kaminari.configure do |config|
  config.default_per_page = 20
end

続いてコントローラの一覧取得処理の部分のところに、pageを追加します。

  def index
    @boards = Board.all.includes(:user).order(created_at: :desc).page(params[:page])
  end

最後にビューにpagenateを追加します。

<%= paginate @boards %>

# いくつかのデザインがあるのでそれを指定するときは下記のようにします。

<%= paginate @boards, theme: 'twitter-bootstrap-4' %>

f:id:study-output:20210501164504p:plain