如何在我的下拉框中设置id属性?
以下是我的相关表单的一部分:
<%= f.fields_for :items do |builder| %>
<%= builder.label :description %><br />
<%= builder.text_field :description %><br />
<%= builder.label :material %><br />
<%= builder.select :material, @letters.map { |l| [l.material, l.material] }, :id => "material_field" %><br />
<%= builder.label :height %><br />
<%= builder.select :height, @letters.map { |l| [l.height, l.height] }, :id => "height_field" %><br />
<%= builder.label :thickness %><br />
<%= builder.select :thickness, @letters.map { |l| [l.thickness, l.thickness] }, :id => "thickness_field" %><br />
<%= builder.label :quantity %><br />
<%= builder.text_field :quantity, :id => "quantity_field" %>
<%= builder.link_to_remove "Remove this item" %>
<% end %>
:id =&gt; “quantity_field”方法适用于文本字段,但不适用于选择字段。查看HTML源我获得了材料文本框的“estimate_items_attributes_0_material”id。
这是一个奇怪的不一致。任何帮助将不胜感激。
答案 0 :(得分:26)
可能的选项和html选项之间有一个参数。所以你必须这样做:
<%= builder.select :thickness, @letters.map { |l| [l.thickness, l.thickness] }, {}, :id => "thickness_field" %>
您可以在此处找到该文档:http://api.rubyonrails.org/classes/ActionView/Helpers/FormBuilder.html#method-i-select
这个也有帮助: http://api.rubyonrails.org/classes/ActionView/Helpers/FormOptionsHelper.html#method-i-select