Rails: заполните список выбора штатами США и аббревиатурой, используя Decoder :: Страны [: US] .states - PullRequest
4 голосов
/ 15 января 2011

Добрый вечер всем.

Я пытаюсь динамически заполнить вызов select_tag в моем представлении rails, используя Decoder :: Страны для генерации списка.Моя проблема в том, что я не могу получить параметры в нужном мне формате.

Синтаксис:

Decoder::Countries[:US]

возвращает хэш штатов США в формате:

"AL" => "Alabama"

Таким образом, в представлении, выполняя это:

select_tag :tag_name, options_for_select(Decoder::Countries[:US].states.sort)

создает список выбора, который выглядит следующим образом:

<select name="tag_name" id="tag_name">
  <option value="Alaska">AK</option>
  <option value="Alabama">AL</option>
  etc...

Мне нужен выводthis:

<select name="tag_name" id="tag_name">
  <option value="al">Alaska</option>

Теперь я знаю, что добавление .sort превращает хеш в массив.Как я могу заставить его отображать вывод, который мне нужен, или мне нужно каким-то образом сделать это обратно в контроллер?

Спасибо.

1 Ответ

4 голосов
/ 15 января 2011

Работает ли инвертирование хеша?

select_tag :tag_name, options_for_select(Decoder::Countries[:US].states.invert)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...