Eki Eqbal
Eki Eqbal

Reputation: 6027

Can't build select input using content_tag with rails 4?

I'm using Rails 4.0 and I want to create the following html using content_tag helper.

<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> 

I created it using:

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

But I keep getting the following HTML:

<select id="shared-resources" multiple="multiple" name="contact[resources]" style="width:100%">
  <optgroup id="firstgroup" label="firstgroup">
  </optgroup>
</select>

What I'm doing wrong?

Thanks

Upvotes: 0

Views: 2297

Answers (1)

jpalumickas
jpalumickas

Reputation: 731

please try this one, it should work:

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

Upvotes: 2

Related Questions