如何为options_from_collection_for_select中的每个选项动态生成唯一名称?

时间:2013-03-13 10:02:36

标签: ruby-on-rails ruby-on-rails-3

我想生成一个像这样的选项标签:

<option name="option_1" value="1">Small</option>
<option name="option_2" value="2">Medium</option>

使用我这样的电话:

<%= select_tag option.name, options_from_collection_for_select(option.option_values, "id", "name"), include_blank: true %>

通过生成这个来获取我的中途:

<option value="1">Small</option>
<option value="2">Medium</option>

如何使用此结构将name属性添加到选项标记?这甚至可能吗?

2 个答案:

答案 0 :(得分:1)

选项标记没有name属性。 name属性应在select标记中定义:

<select name="name">
  <option value="1">Small</option>
  <option value="2">Medium</option>
</select>

有关详细信息,请参阅此页面 - http://www.w3schools.com/tags/tag_option.asp

答案 1 :(得分:1)

select_tag option.name, options_for_select(option.option_values.map{ |o| [o.name, o.id, {:name_or_smth_else => "option_#{o.id}"}] })

options_for_select