【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' %>