最近開発でkaminariを触れる機会があったので、備忘録を作成しました。
インストール
まずはGemfileに以下の行を追加し、bundle installコマンドを実行します。
gem 'kaminari'
コントローラーの設定
ページネーションを適用したいアクションがあるコントローラーを開きます。例えば、app/controllers/items_controller.rbのようなファイルです。
そして、その中の一覧表示のアクション(通常はindexアクション)に対して、以下のように.page(params[:page])を追加します:
def index
@items = Item.order(:name).page(params[:page])
end
このコードは、:nameでソートされたItemを取得し、params[:page]に基づいてページネーションを適用します。
ビューの設定
次に、ページネーションリンクを表示したいビューを開きます。これは一覧表示のビューであることが多いです。例えば、app/views/items/index.html.erbのようなファイルです。
そして、そのビューファイルの適切な位置に、以下のコードを追加します:
<%= paginate @items %>
このコードは、コントローラーで設定した@itemsに基づいてページネーションリンクを表示します。
ロケールの設定
Kaminariの表示文字列をカスタマイズするには、アプリケーションのロケールファイル(例:config/locales/ja.yml)に以下のように追記します:
ja:
views:
pagination:
first: "最初"
last: "最後"
previous: "前"
next: "次"
この例では、日本語の翻訳を設定しています。"最初"、"最後"、"前"、"次"といった表示文字列を任意の文字列に変更できます。
なお、英語など他の言語についても同様に設定することができます。例えば、英語の場合は以下のように設定します:
en:
views:
pagination:
first: "First"
last: "Last"
previous: "Prev"
next: "Next"
これらの設定を適用すると、Kaminariのページネーションリンクの表示文字列が変更されます。