Railsアプリケーションにkaminariというgemを使ってページネーションを実装する方法を紹介します。
まずはGemfileにkaminariを追加してbundle installします。
gem 'kaminari'
controllerへの実装
今回は、掲示板モデル(board)の子モデルであるcommentモデルに実装してみます。
コントローラーにて、下記のように記述します。
@comments = @board.comments.page(params[:page]).per(10).order('created_at DESC')
params[:page]の部分で、ページ番号を拾ってきてくれます。per(10)は1ページあたりの件数です。また、orderで並び順を指定しています。今回は作成日が新しい順に並べています。
viewファイルにページネーションを反映
commentが表示されるviewファイルに下記のように記述すれば、ページネーションの出来上がりです。
<%= paginate @comments %>
めちゃくちゃ簡単ですね。kaminariに感謝です。
Ruby on Railsをこれから本格的に勉強したい人は「エンジニアになるための600時間のプログラミング学習に耐え抜くコツ」という記事がおすすめです。