0

select_tag として次のようなものがあります。

<p><%= setting_select :ui_theme, My::Themes.themes.collect {|t| [t.name, t.id]}, :blank => :label_default, :label => :label_theme %></p>

今はRiteですべての値を集めて表示していますが、特定の値だけ集めてデフォルトにしたいです。この値の名前は「Test」です。

したがって、次のように表示され、デフォルトである必要があります。

<option selected="selected" value="Test">Test</option>

注 : ここで、setting_select は次のように定義されたヘルパーです。

def setting_select(setting, choices, options={})
    if blank_text = options.delete(:blank)
      choices = [[blank_text.is_a?(Symbol) ? l(blank_text) : blank_text, '']] + choices
    end
    setting_label(setting, options).html_safe +
      select_tag("settings[#{setting}]",
                 options_for_select(choices, Setting.send(setting).to_s),
                 options).html_safe
end
4

1 に答える 1

0

options_for_select値を渡すことにより、オプションを事前に選択できます。例:

<%= options_for_select([['Lisbon', 1], ['Madrid', 2], ...], 2) %>

出力:

<option value="1">Lisbon</option>
<option value="2" selected="selected">Madrid</option>

select タグと options_for_selectに関する詳細情報。

于 2012-11-06T06:22:50.447 に答える