Rails嵌套模型形式错误的html id

时间:2013-02-27 15:09:03

标签: ruby-on-rails ruby ruby-on-rails-3 erb

我有一个有很多插槽的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

提前致谢

0 个答案:

没有答案