Ruby on rails 如何在Rails中保存相同类型和名称的可变数量的参数?

Ruby on rails 如何在Rails中保存相同类型和名称的可变数量的参数?,ruby-on-rails,ruby-on-rails-5,Ruby On Rails,Ruby On Rails 5,表单在rails中提交,rails具有可变数量的开票项目,布尔值为true或false。如何获取所有这些值并将其保存在数据库中的相应字段中: 请求参数如下: <ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"cCQjRuaHnsIkCaffZfi6t3err4YPxrEWXSXNKy4gFmDUOtWt+T4JALddxkJWo/7giXD3dNXlvJz9tJ0EYDKKjQ=

表单在rails中提交,rails具有可变数量的开票项目,布尔值为true或false。如何获取所有这些值并将其保存在数据库中的相应字段中: 请求参数如下:

        <ActionController::Parameters {"utf8"=>"✓", "authenticity_token"=>"cCQjRuaHnsIkCaffZfi6t3err4YPxrEWXSXNKy4gFmDUOtWt+T4JALddxkJWo/7giXD3dNXlvJz9tJ0EYDKKjQ==",
     "invoiced_186"=>"1", "invoiced_187"=>"1", "invoiced_188"=>"1",
     "invoiced_189"=>"1", "invoiced_190"=>"1",
 "commit"=>"save", "controller"=>"cader/caders", "action"=>"add_invoiced_items", "id"=>"63813"} permitted: false>
模板格式如下所示:

          <%= form_with url: cader_add_invoiced_items_path(@job_checkout.id), local: true do |f| %>
        <table class="table table-bordered table-striped">
          <thead>
          <th>Item #</th>
          <th>File</th>
          <th>Service</th>
          <th>Price $USD</th>
          <th>Invoice</th>
          </thead>
          <tbody>
          <% @done_job.each do |done_job| %>
            <tr>
              <td>
                <%= f.check_box :"invoiced_#{done_job.id}" %>
                <label>
                  <%= done_job.id %>
                </label>
              </td>
              <td><%= done_job.file_name %></td>
              <td><%= done_job.service %></td>
              <td>$<%= done_job.amount %></td>
              <td></td>
            </tr>
          <% end %>
          </tbody>
        </table>
        <%= f.submit 'save' %>

如何在服务器端管理它们,因为inoice_x字段的数字是可变的。

您可以这样命名您的复选框

<checkbox name="invoiced[]" value="187">
还是这样做

<checkbox name="invoiced[187]" >

通过参数循环怎么样?例如:params.each{k,v | do|u something if k.to|u s.include?invoinced|@AkshayGoya,是的,我们可以这样做,我在想是否有其他方法可以达到相同的解决方案。是的,我可以像使用纯html一样在数组中创建它,但是有没有方法使用rails方法通过使用rails标记来使用rails方法来完成它。
<checkbox name="invoiced[187]" >
{187 = 1, 188 = 1}