Pythonとサラリーマンと

2020年6月にPythonを始めたサラリーマンのブログです。

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 %>

以上