LoginSignup
0
0

ページネーションについて

Posted at

はじめに

今回はページネーションについてアウトプットの一環として
書いていこうと思います。

ページネーションとは?

一つの長い文章を複数のページに分割し表示することです。
ページネートすることで以下のメリットが得られます。

  • 読みやすくなる
  • ページの読み込み時間を短縮できる

kaminariのインストール

gemのkaminariを使用してページネーションを実装していきます。
Gemfileの最終行に、以下コードを追加して保存して下さい。

Gemfile
gem 'kaminari'

Gemfileに追記をしたら以下コマンドを実行して、kaminariをインストールして下さい。

ターミナル
$ bundle install

次に以下のコマンドを実行してkaminariの設定ファイルを作成します。

ターミナル
$ rails g kaminari:config

最後に、kaminariがページャで利用するテンプレートを作成します。
以下のコマンドを実行して下さい。

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

Controller

今回はapp/controllersフォルダ内のblogs_controller.rbファイルを変更します。
pageメソッドを使用して1ページ分の決められた数のデータだけを
新しい順に取得するように変更していきます。

pageメソッドはkaminariをインストールすることで使用できるメソッドです。

今回は以下のように記述しました。

app/controllers/blogs_controller.rb
@blogs = Blog.page(params[:page])

View

Viewでは以下のヘルパーを追加します。

app/views/blogs/index.html.erb
<%= paginate post_images %>

Kaminari Config

最後に、ページあたりに表示させる件数の設定をconfig/initializersフォルダのkaminari_config.rbファイルに記述します。
1ページの表示件数は、デフォルトは25件ですが、今回は2件に設定します。

config/initializers/kaminari_config.rb
Kaminari.configure do |config|
  :
  :
  # 1ページあたりのアイテムの表示数が2件
  config.default_per_page = 2
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