おーしまブログ

プログラミングやってます

<rails> kaminari を使って、たくさんのレビューをページで分ける

こんにちは、おーしまです。

今回は、kaminari gemを使ってたくさんのレビューを、いくつかのページに、分ける方法についてです。


レビューアプリの場合、レビューを一覧表示させるときに、レビューが多過ぎて、ページのずっと下の方まで続いてしまうことがあると思いますが、そんな時に「kaminari」gemが役に立ちます。
f:id:tomo_bb_aki0118115:20201117234518p:plain

このように一度に表示するレビューの数を決めてあげると、レビューの量に対して、自動でページ分けをしてくれます。便利です。色は私のセンスです。

やり方です。

gem 'kaminari'

Gemfileに上のように記述して、bundle install します。



コントローラー

@cars = Car.all.includes(:user, :tags).order('created_at DESC').page(params[:page])

.page(params[:page])を加えます。



モデル

paginates_per 14

上を記述することで、1ページにつき何個表示するか指定できます。(私の場合は、14)上の記述をしなかった場合は、1ページにつき25個の表示となるそうです。



ビュー

<%= paginate @cars %>

上の記述で、ページを遷移するリンクを表示させます。


もし、ページを遷移するリンクを装飾したいときは、

rails g kaminari:views default

を、ターミナルで実行すると、ビューファイルが生成されるのでそれをいじれば、装飾することができます。



今回は、ここまでです。
それでは、また〜

ここはどこ おれはだれ それに近いものがあんだよ 始めようとした奴らも迷い始めてる 怖がらせないでよ そりゃ甘くはないけど まだまだ 夢見ていい世界なんでしょ {UVERwould「ハイ!問題作」}