select_tag with options_for_select

时间:2010-12-06 21:05:46

标签: ruby-on-rails

我的平台是:
Windows7 x64,
ruby 1.8.7(2010-01-10 patchlevel 249)[i386-mingw32],
Rails 2.3.8

<%= select_tag 'locale', options_for_select(LANGUAGES, I18n.locale),
    :onchange => 'this.form.submit()' %>

LANGUAGES看起来像:

LANGUAGES = {
  'English' => 'en',
  "Espa\xc3\xb1ol" => 'es'
}

尽管事实上,I18n.locale等于'en',但未选择'English'值。

<select id="locale" name="locale" onchange="this.form.submit()">
   <option value="es">Español</option>
   <option value="en">English</option>
</select>  

我完全陷入困境。我无法弄清楚问题是什么。有什么想法吗?

更新 我已经弄清楚了。我必须添加 to_s

options_for_select(LANGUAGES, I18n.locale.to_s)

谢谢,Alpha。

1 个答案:

答案 0 :(得分:0)

我必须添加to_s:

options_for_select(LANGUAGES, I18n.locale.to_s)