#はじめに
現在ポートフォリオ制作中の初学者です。
kaminariを導入してページネーション機能を実装したので備忘録です。
#1. gemをインストール
gem 'kaminari'
% bundle install
#2. コントローラーで定義
def index
@events = Event.page(params[:page]).per(10)
end
pageとperいうメソッドがkaminariで定義されたメソッドです。
perメソッドの引数にどれだけのレコードが表示されたらページを増やすかを指定できます。
#3. ビューファイルを編集
<%= paginate @events %>
表示したいビューファイルに記述。
以上です!
#ページネーションの見た目を変える
kaminariで表示させるページネーションはビューの中でcssを当てる事は出来ない。
ので以下方法。
% rails g kaminari:views default
app/viewsフォルダにkaminariを追加。
フォルダの中にページネーションの部分のhtmlが記述されているので、そこで変更する。
#cssのフレームワークのデザインを適用させる場合
bootstrapなどのcssのフレームワークを使っている場合、表示やデザインが崩れる場合があるので
defaultの部分をそれぞれのフレームワークの名前に指定する。
bootstrap4を使っている場合は下記のコマンド。
% rails g kaminari:views bootstrap4
このコマンドを実行し、ビューファイルを作成すると何も編集しなくてもそれぞれのフレームワークのスタイルに最適化される。
#kaminariを日本語化する
デフォルトで英語表記になっているため、日本語表記に変更するためには
config/localesフォルダにkaminari_ja.ymlというファイルを作成し、下記のようなコードを書く。
ja:
views:
pagination:
first: "« 最初"
last: "最後 »"
previous: "‹ 前"
next: "次 ›"
truncate: "..."