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 3 years have passed since last update.

【Ruby on Rails】gem(Kaminari)を使ってページネーション機能を追加する方法

Posted at

#目的
ポートフォリオ制作にあたり、少しでも機能数を増やしたく、今回はユーザー一覧に対し、ページネーション機能を追加しました。
ページネーションとは、件数を指定して、1ページに全て表示するのではなく、複数のページに表示するものです。これがないと、1ページに大量のデータが表示されてしまいます。
gemを使うことで、簡単に実装することができました。

#手順
Gemfileの一番下に、下記を追記します。

Gemfile
gem 'kaminari'

ターミナルにて、下記実行します。

ターミナル
$ bundle install

下記、.page移行を追記します。
5件ずつ表示したい場合は、.per(5)とします。

users_controller.rb
@users  = User.where.not(name: "ゲストプレイヤー").where.not(id: current_user.id).page(params[:page]).per(5)

.each文の後に、<%= paginate @users %>を追記します。

/users/index.html.erb
<% @users.each do |user| %>
  <%= link_to user.name, user_path(id: user.id) %><br>
<% end %>
<%= paginate @users %>

#Railsサーバーを再起動する
多分、再起動しないとうまく表示されないと思います。私の場合は、サーバー再起動だけでは表示せず、ブラウザのキャッシュも一度削除したら、表示しました。

こんな感じです。
スクリーンショット 2020-12-07 5.53.14.png

#参考にしたページ
https://qiita.com/residenti/items/1ae1e5ceb59c0729c0b9

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?