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.

ページネーション機能の実装

Last updated at Posted at 2020-08-08

バージョン

・ruby 2.5.7
・Rails 5.2.4.3

ページネーション機能を使って1ページにつき10件だけ表示させたい

イメージはこんな感じ
pagination_result

まずgemをインストール

ページネーション機能の実装には、gemの「kaminari」を使います。
まず、gemfileでkaminariを記述する。

Gemfile
gem 'kaminari'

Gemfileに追記できたら、ターミナルでbundle installを実行して、kaminariをインストールします。

terminal
bundle install

さらに以下のコマンドを実行

kaminariの設定ファイルを作成の為、下記を実行します。このファイル内にある数字を動かせれば1ページにつき、何件表示出来るか設定出来ます。

terminal
rails g kaiminari:config

下記を実行して生成されるものはkaminariのデザインの修正ができます。
詳しくはこちらの記事が分かりやすかったです。
https://qiita.com/you8/items/df68aaee3010e282d1ae

terminal
rails g kaiminari:default

viewとcontrollerをページネーション用に変更

kaminariを利用するには、利用したいviewファイルに以下のように追記します。

user/index.html.erb
<% @users.each do |user| %>
:
:
<% end %>
<%= paginate @users %>

controllerの方もallで取得していたのを以下のように修正します。
reverse_orderを指定すると新しい順に表示されるようになります。

users_controler.rb
def index
 #@users = User.all
 
 @users = User.page(params[:page]).reverse_order
end

config/initializersフォルダのkaminari_config.rbに何件表示させたいか記入すれば完成!!

config/initializers/kaminari_config.rb

Kaminari.configure do |config|
 config.default_per_page = 10
end

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?