kaminariを使ったページネーションの実装

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に感謝です。

参考
kaminari/kaminari: ⚡ A Scope & Engine based, clean, powerful, customizable and sophisticated paginator for Ruby webapps

シェアする

  • このエントリーをはてなブックマークに追加

フォローする