はじめに
今回はページネーションについてアウトプットの一環として
書いていこうと思います。
ページネーションとは?
一つの長い文章を複数のページに分割し表示することです。
ページネートすることで以下のメリットが得られます。
- 読みやすくなる
- ページの読み込み時間を短縮できる
kaminariのインストール
gemのkaminari
を使用してページネーションを実装していきます。
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をインストールすることで使用できるメソッドです。
今回は以下のように記述しました。
@blogs = Blog.page(params[:page])
View
Viewでは以下のヘルパーを追加します。
<%= paginate post_images %>
Kaminari Config
最後に、ページあたりに表示させる件数の設定をconfig/initializersフォルダのkaminari_config.rbファイルに記述します。
1ページの表示件数は、デフォルトは25件ですが、今回は2件に設定します。
Kaminari.configure do |config|
:
:
# 1ページあたりのアイテムの表示数が2件
config.default_per_page = 2
end
サーバーを起動してページャが問題なく機能していれば完成です!