Gemを使ったページネーションの追加方法
ページネーションとは
縦に長いページがあった時、複数のページに分割して表示で切るようにするすることで、Googleサイトを例にすると一番下に出てくるページ数のことです。
下図に参考画像載せます。
Railsを使ってページネーションを追加するには
Gemをインストールしてページネーション機能を簡単に追加することができますのでこれから手順を書いていきます。
追加手順
①Gemfileに「gem kaminari」を記述して、ターミナルで「bundle install」する
#一番下の行に記述し保存する
gem 'kaminari'
$ bundle install
②「rails s」で仮想サーバーを立ち上げる
$ rails s
③コントローラーファイルに「kaminari」の専用メソッドを記述する
def index
@tweets = Tweet.page(params[:page]).per(5)
end
上記のコードでtweetテーブルからindexメソッドでデータを取得して5件までは1ページ目にそれ以降を2ページ目に表示する内容をインスタンス変数(@tweets)に代入する。
専用メソッドの解説
pageメソッド:ページネーションにおけるページ数の指定でビューにリクエストを送る時に「params」に「pageと言うキーが追加」され、それが値となる。
perメソッド:1ページあたりに表示する件数の指定。引数の値がそのまま表示数となります。(今回は5件)
④ビューファイルを編集し、必要なページにページネートが表示されるようにする。
<%= paginate(@tweets) %>
コントローラーからの変数(@tweets)を引数として与えることでpageメソッドとperメソッドの引数からデータが渡されてページネーションが表示される。
まとめ
- ページネーションとは1ページに表示する件数を決めて納まりきらない時は、次ページに表示させる機能
- Railsならgemを使って簡単に実装ができる。
- gem kaminari専用メソッドがある。
Author And Source
この問題について(Gemを使ったページネーションの追加方法), 我々は、より多くの情報をここで見つけました https://qiita.com/swallows9000/items/94aad310d19842dcf2c1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .