Rails4でページネーションを実装する
みなさんこんにちは、新人の意識高丸です。
昨日も初心者向けRuby勉強会gaienrbに参加してきました。
(http://www.circleaf.com/groups/13)
今回はページネーションを実装しました。
チュートリアルでは、will_paginateというgemで実装していました。
will_paginate.gemとbootstrap-will_paginate.gemの2つをインクルードして使用します。
Gemfileに以下の2行を追加し、
“`Gemfile
gem ‘will_paginate’, ‘3.0.4’
gem ‘bootstrap-will_paginate’, ‘0.0.6’
“`
bundle installを実行します。
“`
$ bundle install
“`
will_paginateをインクルードするとActiveRecordのモデルにpaginateメソッドが追加されます。
以下のようにモデルのpaginateメソッドをpageを引数にして実行すると、データベースから該当ページ分のデータ(デフォルトでは30ずつ)を取得してくれます。
例えば2ページ目であれば、31~60のデータを取得します。
“`コントローラの実装
def index
@users = User.paginate(page: params[:page])
end
“`
データの並び順を変える場合や、取得単位を変える場合は以下のようにします。
“`
def index
@users = User.paginate(:page => params[:page], :per_page => 10).order(‘id DESC’)
end
“`
per_pageの部分が取得単位を変えているところで、orderが並び順を変えているところです。
ビュー側では以下のようにwill_paginateを呼び出すことにより、ページのリンクを設置できます。
この他にも「kaminari」という有名なページネーションのgemがあります。
便利そうなので今度試してみようと思います。
Rubyについて日々勉強している新人エンジニアです。初心者向けRuby勉強会のレポートなどを投稿していきます。
TAG
- Android
- AWS
- Bitrise
- CodePipeline
- Firebase
- HTML
- iOS
- IoT
- JavaScript
- KPI
- Linux
- Mac
- Memcached
- MGRe
- MGReのゆるガチエンジニアブログ
- MySQL
- PHP
- PICK UP
- PR
- Python
- Ruby
- Ruby on Rails
- SEO
- Swift
- TIPS
- UI/UX
- VirtualBox
- Wantedly
- Windows
- アクセス解析
- イベントレポート
- エンジニアブログ
- ガジェット
- カスタマーサクセス
- サーバ技術
- サービス
- セキュリティ
- セミナー・展示会
- テクノロジー
- デザイン
- プレスリリース
- マーケティング施策
- マネジメント
- ラボ
- リーンスタートアップ
- 企画
- 会社紹介
- 会社紹介資料
- 勉強会
- 実績紹介
- 拡張性
- 採用
- 日常
- 書籍紹介
- 歓迎会
- 社内イベント
- 社員インタビュー
- 社長ブログ
- 視察
- 開発環境