生成两次的嵌套字段
nested fields for generated twice
下面的表格是为了同时编辑多条相关记录,同时根据in_groups_of
.
格式化记录数
<%= form_for(@event) do |f| %>
<div class='row'>
<% @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<%= f.fields_for :eventdistances do |eventdistance| %>
<div class='small-2 medium-2 large-2 columns'>
<%= eventdistance.check_box :active %> <%= eventdistance.object.building.nome %><br /><%= number_with_precision(eventdistance.object.distance, precision: 1) %> km
</div>
<% end %>
</div>
<% end %>
但是,生成的 html beng 在一组 6 个之后没有关闭行标签,整个 shebang 被渲染了两次。
do in_groups_of
和 fields_for
以某种方式发生冲突,因为如果我删除 in_groups_of
标签,只会呈现一个完整的版本?
如何妥善解决?
<%= form_for(@event) do |f| %>
<% @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<div class='row'>
<%= f.fields_for :eventdistances, eventdistances do |eventdistance| %>
<div class='small-2 medium-2 large-2 columns'>
<%= eventdistance.check_box :active %> <%= eventdistance.object.building.nome %><br /><%= number_with_precision(eventdistance.object.distance, precision: 1) %> km
</div>
<% end %>
</div>
<% end %>
<% end %>
第一个问题是当您调用 f.fields_for :eventdistances do |eventdistance|
时调用 f.object.eventdistances
(f.object = @event) 并且没有像您期望的那样使用局部变量。这就是它重复所有记录六次的原因。
您要做的是将集合作为第二个参数传递。此外,如果您想将每个组放入 <div class='row'>
中,您希望将标签放在传递给 .in_groups_of
.
的块内
下面的表格是为了同时编辑多条相关记录,同时根据in_groups_of
.
<%= form_for(@event) do |f| %>
<div class='row'>
<% @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<%= f.fields_for :eventdistances do |eventdistance| %>
<div class='small-2 medium-2 large-2 columns'>
<%= eventdistance.check_box :active %> <%= eventdistance.object.building.nome %><br /><%= number_with_precision(eventdistance.object.distance, precision: 1) %> km
</div>
<% end %>
</div>
<% end %>
但是,生成的 html beng 在一组 6 个之后没有关闭行标签,整个 shebang 被渲染了两次。
do in_groups_of
和 fields_for
以某种方式发生冲突,因为如果我删除 in_groups_of
标签,只会呈现一个完整的版本?
如何妥善解决?
<%= form_for(@event) do |f| %>
<% @event.eventdistances.in_groups_of(6, false) do |eventdistances| %>
<div class='row'>
<%= f.fields_for :eventdistances, eventdistances do |eventdistance| %>
<div class='small-2 medium-2 large-2 columns'>
<%= eventdistance.check_box :active %> <%= eventdistance.object.building.nome %><br /><%= number_with_precision(eventdistance.object.distance, precision: 1) %> km
</div>
<% end %>
</div>
<% end %>
<% end %>
第一个问题是当您调用 f.fields_for :eventdistances do |eventdistance|
时调用 f.object.eventdistances
(f.object = @event) 并且没有像您期望的那样使用局部变量。这就是它重复所有记录六次的原因。
您要做的是将集合作为第二个参数传递。此外,如果您想将每个组放入 <div class='row'>
中,您希望将标签放在传递给 .in_groups_of
.