0

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>

私が間違っていることは何ですか?

ありがとう

4

1 に答える 1

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
于 2014-10-14T12:10:30.040 に答える