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

Last updated at Posted at 2022-09-18

kaminariとは

ページネーションの実装を簡略化するためのgem。

ページネーションとは

長くなってしまったWebページを分割するもの。
ページ数の書かれたリンク。

スクリーンショット 2022-09-18 11.19.39.png

実装手順

gemをインストールし、gコマンドでconfig/initializersディレクトリに生成。

# gemfile
    gem 'kaminari'

# ターミナル
    bundle install
    rails g kaminari:config

1ページあたりに表示するレコード数(表示される項目の数)を指定する。
(下記コードではレコード数100)

config/initializers/kaminari_config.rb
# レコード数を10に指定
Kaminari.configure do |config|
  config.default_per_page = 10
end

indexアクション内で一覧取得、pageスコープを使用

hoge.controller.rb
  def index
    @hoges = Hoge.all.includes(:user).order(created_at: :desc).page(params[:page])
  end

一覧表示でページネーションを表示させるために、paginateヘルパーを使用する__

views/index.html.erb
  <%= paginate @hoges %>

代表的なメソッド

  • paginate
    paginateヘルパーを使うと複数のページネーションリンクを表示できる

  • page
    ページ数を指定するメソッド。
    kaminariを導入したことにより、リクエストの際paramsの中にキーであるpageが追加されている。その値がビューで指定したページ番号となり、pageの引数は(params[:page])となる。

  • per
    1ページあたりに表示する件数を指定できる。
    perメソッドに引数として渡した数値が、1ページに表示するレコード件数となる。


参考サイト
【Rails】kaminariの使い方をざっくりまとめてみた

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?