f.select helper - как передать значение, отличное от id - PullRequest
0 голосов
/ 12 мая 2011

У меня есть этот код:

<%= f.label :lang  %><br />
<%= f.select :lang_id, @langs %>

он генерирует HTML так:

<label for="entry_lang">Lang</label><br /> 
<select id="entry_lang_id" name="entry[lang_id]">
  <option value="pl">1</option>
  <option value="en">2</option>
</select> 

Теперь я хочу, чтобы "pl" и "en" были видимы для пользователя, а не целые числа. Итак, я попробовал:

<%= f.label :lang  %><br />
<%= f.select :lang_name, @langs %>

И это не работает. Как это сделать правильно?

1 Ответ

1 голос
/ 12 мая 2011

Похоже, ваш массив @langs имеет формат:

[[1, "pl"], [2, "en"], ....]

Это должно быть наоборот;сначала отображаемое имя, затем идентификатор:

[["pl", 1], ["en", 2], ....]
...