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 它正在收集所有值并显示,但我只想收集一个特定值并将其设为默认值。此值具有名称 =“测试”。

因此它应该看起来像这样,它应该是默认的:

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