【開発メモ】Railsでページネーションを3分で実装できるwill_paginateの使い方

Sponsored Link


Railsでページネーションを簡単に実装できるwill_paginateの使い方

どうも、Linです。耳、つまんでます。

 

Railsアプリでページネーションを実装したい。

そんなときにおすすめなのが、

will_paginate

というgemです。

 

今日はこいつの使い方・導入方法を習得したので忘れないうちにメモしておきます。

「改訂3版基礎 Ruby on Rails」という書籍を参考にさせてもらいました。

 

 Step1. 「will_paginate」をgemに追加

まずは、will_paginateというgemを追加します。

「Gem_file」に、

という一行を最後に追加してから、gem追加時におなじみとなっている、

 

 

Step2. コントローラー編集

ページネーションを実装したいデータを取り扱うコントローラーを編集していきます。

 

例として、index.html.erbの一覧のデータに対してページネーションを実装する例を見ましょう。

もし、Projectというモデルだった場合、projects_controller.rb内のindexアクションを以下のように編集していきます。

 

これで、5つのデータごとに切り分けてページネートしてくれることになります。

per_pageの後に来る数字が1ページあたりに表示するデータ数になるみたいですね。

 

もし、次のようにper_page:の後ろの数字を10に変えれば1ページあたりのデータ数が10に増えるわけですね。

 

Step3. ビューファイル編集

最後に、ページネーションを表示するビューファイルを編集します。

今回はindex.html.erbにページネーションを実装していきます。

 

なんと、will_paginateではページネーションを表示するための一行のヘルパーメソッドを追加するだけでいいのです。

Projectモデルでindexアクションで@projectsというインスタンス変数を生成していた場合、

この一行でページネーションが表示できます↓↓

 

rails will_paginate

 

 

 

「undefined method paginate'」っていうエラーが出るんだけど??

えっ。

undefined method paginate’

というエラーが出てしまったですって??

 

そういうときは、railsのテストサーバーを一度再起動して見てください。

Ctl + C

を押してからもう一度、

でテストサーバーを立ち上げると、先ほどのエラーは消え去るはずです。

ぜひ試してみてくださいね。

 

「ちょっとお前の説明だとわかんねえよ!?」

という方はRailsの参考書の「改訂3版基礎 Ruby on Rails」を読んでみてくださいね。

 

それでは!

Lin

飯橋凛(Ihashi Lin)

新卒で入ったネット広告代理店を1年半で退職。
その後、副業として活動していたウェブメディア運営のフリーランスへ。
現在はプログラミングの勉強に励み、0からフリーエンジニアの道を目指す。最近はキムチをまとめ買いしている


Sponsored Link

1件のコメント

コメントはこちらからお願いします!



もう1本読んでみる