0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

🔰【初学者用】kaminariを使ってページネーションを実装しよう!【Ruby on Rails】

Last updated at Posted at 2022-05-27

はじめに

現在Ruby on Railsでオリジナルアプリを作成しています。
その際にGemのkaminariを使ってページネーションを実装しました。
ページネーションはとても簡単です!是非実装の参考にしてください!
Googleでなにかしらを検索したときに下の画像のようなページ遷移の番号がでてきますよね。これがページネーションです!
ページネーションの参考画像↓

kaminari導入

ますはページネーションの実装を簡単にするgem'kaminari'を導入しましょう!

Gemfile
gem 'kaminari'

記述を終えたらターミナルにて

ターミナル
bundle install

を行います。

コントローラーの記述

controller.rb
def index
  @users = User.page(params[:page]).per(15)
end

コントローラーの選択は任意です。
pageperメソッドはkaminariで定義されているメソッドです。
上記の場合perメソッドの引数である(15)の表示により15ページ分のページネーションが実装されます。
※(10)なら10ページ・(5)なら5ページ

ビューでページネーションを表示

index.html.erb
<%= paginate @users %>

これで実装完了です!!

え、、、終わり!????????

はい。完成です。

細かい設定

細かい設定をしましょう!

ターミナル
rails g kaminari:config

を行います。すると以下のファイルが生成されます。

config/initializers/kaminari_literal
Kaminari.configure do |config|
  # config.default_per_page = 25 # 1ページ辺りの項目数
  # config.max_per_page = nil    # 1ページ辺りの最大数
  # config.window = 4            # ex 値が2の場合 .. 2 3 (4) 5 6 ..
  # config.outer_window = 0      # ex 値が2の場合 .. (4) .. 99 100
  # config.left = 0              # ...になったときの左側の表示数
  # config.right = 0             # ...になったときの右側の表示数
  # config.page_method_name = :page # メソッド名
  # config.param_name = :page    # ページネーションのパラメーターの名前
end

お好みで修正してください!

また、下記のコマンドでビューを編集したい場合、下記コマンドでビューを作成できます!

ターミナル
rails g kaminari:views default

app/viewsフォルダにkaminariが追加されるのでそちらを書き換えましょう!

おわりに

今回はページネーションをまとめてみました!
本当に簡単に実装できましたよね?私も実装が終わったときは え、、、終わり!???????? と叫びました。
これからは5分で実装できますね(^^)

※初学者のため、間違い等があれば指摘ください。最後まで見ていただきありがとうございました!

余談

今日からできるだけ毎日1記事アウトプットとして投稿していきたいと思います。とここに宣言。

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?