Rails5 : Kaminariでpaginateを実装する
前提
MacOS 10.14.5
Ruby 2.5.0
Rails 5.2.3
手順
1. gem kaminariをインストール
Gemfileにkaminariを追加。
gem 'kaminari'
インストール。
$ bundle install
2. controllerを編集
paginateさせたいアクションのインスタンス変数を編集。 以下の感じ。
PER = 5 def index @payments = current_user.payments.page(params[:page]).per(PER) end
3. viewを編集。
以下のように上記アクションを編集したviewにpaginateの行を追記する。
<% @payments.each do |payment| %> <tr> <td><%= payment.created_at.strftime('%Y/%m/%d') %></td> <td><%= payment.item %></td> <td><%= payment.price %></td> <td><%= payment.category %></td> <td><%= link_to '編集', edit_payment_path(payment) %></td> <td><%= link_to '削除', payment, method: :delete, data: { confirm: "本当に削除しますか?"} %></td> </tr> <% end %> <%= paginate @payments %>
以上