LoginSignup
0
0

Rails:kaminariの導入方法

Posted at

ページネーション機能を提供するkaminariライブラリの使い方について。

テストテーブル:hoge

100件くらいデータを入れておく。

カラム
name text
sex integer

kaminariのインストール

プロジェクトフォルダ/Gemfileに以下を追記し保存。

gem 'kaminari'

コマンドプロンプトから以下を実行

> bundle install

設定ファイルを作成

> rails generate kaminari:config

設定ファイル(kaminari_config.rb)の中身

項目 概要
default_per_page 1ページあたりの表示件数
max_per_page 1ページあたりの最大表示件数
window 現在のページから左右何ページ分を表示するか
outer_window 先頭、最終ページから何ページ分のリンクを表示するか
(left/rightの値が優先される)
left 先頭ページから何ページ分のリンクを表示するか
right 最終ページから何ページ分のリンクを表示するか
page_method_name nページ目のレコードを取得するメソッド名
param_name ページ番号のパラメータ名

Railsサーバ再起動

config内のファイルは起動時に読み込まれるため。

> rails restart

コントローラ

controllers/hoges_controller.rb
def index
# 全データを取得する
#  @datas = Hoge.All

# 指定ページのデータのみ取得する
  @datas = Hoge.page params[:page]
end

テンプレート

views/hoges/index.html.erb
<div><%= page_entries_info @datas %></div>

<% @datas.each do |data| %>
  <div>
    <%= data.id %>
    <%= data.name %>
    <%= data.sex == 0 ? '女' : '男' %>
  </div>
<% end %>

<div><%= pagenate @datas %></div>

page_entries_infoで、表示しているページの情報(データ総数、表示中のデータ範囲)を出力する。
pagenateで、ページ移動のためのリンクを出力。

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