我正在使用Rails 4.0,我想使用 content_tag 帮助程序创建以下html。
<select multiple="multiple" id="shared-resources" style="width:100%" name="contact[resources]">
<optgroup label="firstgroup" id="firstgroup">
<option value="1">Option 1</option>
<option value="2">Option 2</option>
<option value="3">Option 3</option>
<option value="4">Option 4</option>
<option value="4">Option 4</option>
</optgroup>
</select>
我使用以下方法创建了它:
content_tag(:select, multiple: "multiple", id: "shared-resources", style: "width:100%", :name => "contact[resources]") do
content_tag(:optgroup, label: "firstgroup", id: "firstgroup") do
5.times do |n|
content_tag(:option, value: n) do
"Option #{n}"
end
end
end
end
但我不断收到以下HTML:
<select id="shared-resources" multiple="multiple" name="contact[resources]" style="width:100%">
<optgroup id="firstgroup" label="firstgroup">
</optgroup>
</select>
我做错了什么?
谢谢
答案 0 :(得分:2)
请尝试这个,它应该工作:
content_tag(:select, multiple: "multiple", id: "shared-resources", style: "width:100%", :name => "contact[resources]") do
content_tag(:optgroup, label: "firstgroup", id: "firstgroup") do
raw 5.times.map { |n| content_tag(:option, value: n) { "Option #{1}" } }.join
end
end