2

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>

上記の出力を確認すると、クラスが値として表示されます。何がうまくいかないのですか?

4

2 に答える 2

1

制約があるため、手動で行う必要があります。これがレール>=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
于 2013-02-07T14:44:33.557 に答える
1

これによると、

['display','value',:class => 'option_class']

生産します

<option value="value" class="option_class">display</option>

したがって、あなたの場合、私はこれを試します:

["Item 2", "Item2", :class => 'has-versions']
于 2013-02-07T12:52:00.927 に答える