#kaminariとは?
rubyのgemの一つで、ページネーションを作るためのものです。
#kaminariのインストール
以下を Gemfile
に追加します。
gem 'kaminari'
ターミナルでインストールします。
$ bundle install
#コントローラーにページネーションのコードを追加
class PostsController < ApplicationController
def index
@posts = Post.all
@posts = Post.page(params[:page]).per(15)
end
end
page(params[:page]).per(15)
の部分でページあたりいくつ表示させるかを設定します。
ページネーションが表示されるのは、表示される数が設定した数より多い場合です。
#ビューファイルにページネーションのコードを追加
ビューでページネーションを表示させる場所に追加します。
<%= paginate @posts %>
#kaminariを日本語化する
kaminariの表示はデフォルトだと英語です。
日本語化する場合は、 config/locales
に kaminari_ja.yml
というファイルを作成すると管理しやすいです。
kaminari_ja.yml
に以下を追記します。
ja:
views:
pagination:
first: "« 最初"
last: "最後 »"
previous: "‹ 前"
next: "次 ›"
truncate: "..."
helpers:
page_entries_info:
one_page:
display_entries:
zero: ""
one: "<strong>1-1</strong>/1件中"
other: "<strong>1-%{count}</strong>/%{count}件中"
more_pages:
display_entries: "<strong>%{first}-%{last}</strong>/%{total}件中"