こんにちは、おーしまです。
今回は、kaminari gemを使ってたくさんのレビューを、いくつかのページに、分ける方法についてです。
レビューアプリの場合、レビューを一覧表示させるときに、レビューが多過ぎて、ページのずっと下の方まで続いてしまうことがあると思いますが、そんな時に「kaminari」gemが役に立ちます。
このように一度に表示するレビューの数を決めてあげると、レビューの量に対して、自動でページ分けをしてくれます。便利です。色は私のセンスです。
やり方です。
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
を、ターミナルで実行すると、ビューファイルが生成されるのでそれをいじれば、装飾することができます。
今回は、ここまでです。
それでは、また〜