Rails 5.1现在使用新的form_with
代替form_for
帮助程序。
使用form_with
,我们必须手动设置HTML输入元素的id
属性,否则label
元素无法识别其相对输入。
例如:
<%= form.label :name %>
<%= form.text_field :name, id: :contact_name %>
但我在具有contact
属性的phones
对象上使用嵌套表单,该属性可能包含列表(多个)电话号码:
<%= form.fields_for :phones do |phone_fields| %>
<div class="field">
<%= phone_fields.label :number %>
<%= phone_fields.text_field :number, id: ???????? %>
</div>
<% end %>
如果查看HTML输出,生成的label
元素将如下所示:
<label for="contact_phones_attributes_2_number">Phone</label>
如何设置这些内部id
的{{1}}属性?
我&#34;解决了#34;这个(丑陋)代码的问题:
text_field
怎么可能重写?