LoginSignup
0
1

More than 3 years have passed since last update.

ページネーション機能(kaminari)

Posted at

はじめに

現在ポートフォリオ制作中の初学者です。
kaminariを導入してページネーション機能を実装したので備忘録です。

1. gemをインストール

Gemfile
gem 'kaminari'
ターミナル
% bundle install

2. コントローラーで定義

events_controller.rb
def index
  @events = Event.page(params[:page]).per(10)
end

pageとperいうメソッドがkaminariで定義されたメソッドです。
perメソッドの引数にどれだけのレコードが表示されたらページを増やすかを指定できます。

3. ビューファイルを編集

events/index.html.erb
<%= 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というファイルを作成し、下記のようなコードを書く。

config/locales/kaminari_ja.yml
ja:
  views:
    pagination:
      first: "&laquo; 最初"
      last: "最後 &raquo;"
      previous: "&lsaquo; 前"
      next: " &rsaquo;"
      truncate: "..."

参考

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1