我在保存多条记录方面遇到了问题。
此脚本将通过连接表加载属于某个部门的工具列表。 这个表格将为另一个连接表创建一个新记录,问题是当我得到4个乐器时它只能保存最后一个乐器。
有人可以帮助我解决这个问题或者指出我正确的方向吗?
<%= 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 %>
答案 0 :(得分:0)
仅保存最后一个,因为字段具有相同的名称,最后一个字段覆盖所有其他值。请参阅接收控制器上的参数。
您可能希望/需要将部门配置为accepts_nested_attributes_for :instruments
,并使用fields_for: instruments
将部门对象的表单配置为5
。我已经突出显示了帮助您获取所需信息的关键字,Rails Guides是一个很好的起点。