编辑表中的多行(更新多个记录)

时间:2014-02-18 10:16:08

标签: ruby-on-rails activerecord ruby-on-rails-4 rails-activerecord

我在Payments#index中有一个付款记录列表。我被要求直接编辑该表,并有一个按钮保存所有更新。到目前为止,我只是部分地设法通过将每行包裹在该记录的form_for中来实现这一点:

  <tbody>
    <% @payments.each do |payment| %>
      <tr>
        <td><%= payment.client.trading_name %></td>
        <td><%= payment.date_of_payment %></td>
        <td>
          <%= form_for payment do |f| %>
              <%= f.text_field :amount %>
              <%= f.submit 'Save', class: 'table_submit' %>
          <% end %>
        </td>
        <td>
          <%= form_for payment do |f| %>
              <%= f.select :sequence_type, options_for_select(%w[RCUR OOFF FRST FNAL]) %>
              <%= f.submit 'Save', class: 'table_submit' %>
          <% end %>
        </td>
        <td>
          <ul>
            <li><%= link_to 'Edit', edit_payment_path(payment) %></li>
            <li><%= link_to 'Destroy', payment, method: :delete, data: { confirm: 'Are you sure?' } %></li>
          </ul>
        </td>
      </tr>
    <% end %>
  </tbody>

是否可以编辑所有记录然后有一个更新按钮而不必单独保存每条记录?如果是这样,我该怎么做呢?