LoginSignup
5
4

More than 3 years have passed since last update.

Railsでkaminariを使う

Last updated at Posted at 2020-07-31

プログラミングの勉強日記

2020年7月31日 Progate Lv.226

概要

 こちらの記事で扱ったgemのkaminariを説明する。kaminariは1つのページに掲載するコンテンツが増えたときに複数ページに分けて表示させるページネーションを簡単に実装することができる。

0731.png
 ページネーションを使うことで、情報量の多いサイトをまとめられるということだけではなく、表示される項目が一定数を超えると自動的に次のページへ内容を移行することもできるので便利である。

使い方

 kaminariを使うためにGemfileを編集する。

Gemfile
gem 'kaminari'

 Gemfileを編集したら、kaminariをインストールする。

ターミナル
bundle install

 これでkaminariで定義されたメソッドや機能を使うことができるようになる。

ページネーションの定義

 コントローラとビューでページネーションが表示されるようにする。

controllerファイル
def index
  @users = User.page(params[:page]).per(10)
end
ビューファイル
<%# ページネーションの表示 %>
<%= paginate @users %>

見た目の変更

 kaminariで表示されるページネーションはビューの中でCSSを適用させることはできない。なので、見た目を変えたい場合はapp/view/kaminariフォルダを作り、その中にページネーションの部分のHTMLが記述されているようにターミナルで以下のコマンドを実行する。

ターミナル
$ rails g kaminari:views default

Bootstapに合わせる

 bootstrap用にカスタマイズすることもできる。このためにはもう一度Gemfileを変更する。

Gemfile
gem 'kaminari-bootstrap', '~> 3.0.1'

 Gemfileを編集したら、インストールする。

ターミナル
bundle install

 そして、config/config/locales/kaminari_ja.ymlを追加して編集する。

config/locales/kaminari_ja.yml
ja:
  views:
    pagination:
      first: "&laquo; 最初"
      last: "最後 &raquo;"
      previous: "&lsaquo; 前"
      next: " &rsaquo;"
      truncate: "..."
5
4
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
5
4