我正在开发Rails 2.3.9应用程序。我需要将一个类传递给选项。我正在做的方式是
<%= select(:resporg, "hresporg_#{row_id}",options_for_select(["Item11",["Item 2", {:class => 'has-versions'}]]), {}, {:multiple => true})%>
输出
<select id="resporg_hresporg_1" name="resporg[hresporg_1][]" multiple="multiple">
<option value="Item11">Item11</option>
<option value="classhas-versions">Item 2</option>
</select>
如果检查上面的输出,则该类将作为值。什么出错了?
答案 0 :(得分:1)
根据this,
['display','value',:class => 'option_class']
将产生
<option value="value" class="option_class">display</option>
所以在你的情况下,我会尝试这个:
["Item 2", "Item2", :class => 'has-versions']
答案 1 :(得分:1)
由于约束,我必须手动执行此操作。 this对rails&gt; = 3.0.0
有效在template.html.erb
中<select style="width:160px !important;" id="resporg_hresporg_1" name="resporg[hresporg_1][]" multiple="multiple">
<%= opts %>
</select>
在助手
中def opts
str = ''.html_safe
['Item1','Item2'].each { |val| str << content_tag(:option, val, :value => val,:class => val.eql?('Item2') ? "MyClass" : nil) }
str.html_safe
end