我有一个嵌套的模型表单
http://railscasts.com/episodes/196-nested-model-form-revised?view=asciicast
我需要给每个标记一个唯一的id。目前,生成的每个字段都有一个惟一的id和一个helper方法给出的名称,该方法为每个关联记录分配一个惟一的id。所以这是照顾好了。但是,这个表单有“fieldset”标记,没有分配id。为了jquery操作的目的,我需要为每个fieldset分配一个惟一的id。
具体地说,如何给为“活动”记录生成的每个字段集一个唯一的css标记id?
下面是我的表单是如何创建的。谢谢你
_表单.html.erb

<%= form_for(@trip) do |f| %>

<%= f.fields_for :days do |builder| %>
  <%= render 'day_fields', f: builder %>
<% end %>
<%= link_to_add_fields "Add Day", f, :days %>

_ day_fields.html.erb部分
<fieldset>
  <%= f.label :summary, "Day Summary" %><br />
  <%= f.text_area :summary, :rows => 1 %><br />
    <%= link_to "remove", '#', class: "remove_fields" %>

  <%= f.fields_for :activities do |builder| %>
    <%= render 'activity_fields', f: builder %>
  <% end %>
  <%= link_to_add_fields "Add Activity", f, :activities %>
</fieldset>

_活动字段.html.erb
<fieldset>
  <%= f.label :title, "Activity" %><br />
  <%= f.text_field :title, :rows => 1 %><br />
  <%= f.hidden_field :_destroy %>
  <%= link_to "remove", '#', class: "remove_fields" %>
</fieldset>

最佳答案

如果您使用的是ryanb嵌套格式gem:
改为使用f.index。并确保你在你的部分中通过了每一个不同的表单生成器。
例如,如果

<%= main_form.fields_for :nested1_items do |nested1_form| %>
    <%= render partial 'main/nested1_fields', nested1_form: nested1_form %>
<% end %>

_嵌套的1_字段
<fieldset id="nested1-<%= nested1_form.index %>-items">

看我的答案。

07-24 18:14
查看更多