我有一个有很多插槽的Cover模型。我在#196 Railcast和#197 Railcast之后创建了一个表单。 该表单适用于创建,但是当我想更新Cover(特别是子Slot)时,它不会更新。问题似乎是插槽字段的html名称属性不包含正确的ID,相反,它们似乎总是从0开始为插槽增加。以下是相关代码:
_form.html.erb:
<%= form_for(@cover) do |f| %>
...
<%= f.fields_for :slots do |builder| %>
<%= render "slot_fields", :f => builder %>
<% end %>
...
<% end %>
_slot_fields.html.erb:
<div class="fields">
<p>
<div class="field">
<%= f.label :width %>
<%= f.number_field :width %>
</div>
...
输出html:
<p>
<div class="field">
<label for="cover_slots_attributes_0_width">Width</label>
<input id="cover_slots_attributes_0_width" name="cover[slots_attributes][0][width]" type="number" value="50" />
</div>
但插槽ID为3
提前致谢