为每个生成的字段集创建/新建DB记录

时间:2016-06-13 16:10:50

标签: ruby-on-rails ruby

我在保存多条记录方面遇到了问题。

此脚本将通过连接表加载属于某个部门的工具列表。 这个表格将为另一个连接表创建一个新记录,问题是当我得到4个乐器时它只能保存最后一个乐器。

Image generated list

有人可以帮助我解决这个问题或者指出我正确的方向吗?

<%= form_for(:joindaylisting) do |j| %>
  <% @instrumentslist.each do |instrument| %>

    <tr class="<%= cycle('odd', 'even') %>">
      <td>
        <% j.label(:instrument_id, "#{instrument.name}") %>
        <%= link_to("#{instrument.name}", {:controller => 'instruments', :action => 'show_instruction', :instrument_id => instrument.id}, :onclick=>"window.open('height=670, width=675');return false;") %>
      </td>
      <%= j.hidden_field(:instrument_id, :value => instrument.id) %>

      <td></td>
      <% j.label(:ammountdesinfection, "") %>
      <td><%= j.text_field(:ammountdesinfection) %></td>
      <% j.label(:ammountinstruments, "") %>
      <td><%= j.text_field(:ammountinstruments) %></td>
      <% j.label(:ammountrelease, "") %>
      <td><%= j.text_field(:ammountrelease) %></td>
      <% j.label(:notes, "") %>
      <td><%= j.text_area(:notes) %></td>
    </tr>

    <% j.label(:department_id) %>
    <%= j.hidden_field(:department_id, :value => @department.id) %>

    <% end %>
  <% end %>

1 个答案:

答案 0 :(得分:0)

仅保存最后一个,因为字段具有相同的名称,最后一个字段覆盖所有其他值。请参阅接收控制器上的参数。

您可能希望/需要将部门配置为accepts_nested_attributes_for :instruments,并使用fields_for: instruments将部门对象的表单配置为5。我已经突出显示了帮助您获取所需信息的关键字,Rails Guides是一个很好的起点。