Создайте массив стран и отобразите их в поле выбора - PullRequest
2 голосов
/ 17 февраля 2010

Я новичок в Rails и пытаюсь поместить страны в массив, а затем отобразить их в окне выбора. Мой массив выглядит так:

country = {}
country['FR'] = 'France'
country['UK'] = 'United Kingdom'

Есть идеи?

1 Ответ

4 голосов
/ 17 февраля 2010

По вашему мнению, сделайте следующее:

<%= select_tag 'countries', 
            options_for_select(@countries.to_a) %>

@countries.to_a преобразует ваш хеш в массив. Если ваш хеш следующий:

{'France' => 'FR', 'United Kingdom' => 'UK'}

После, после to_a у вас будет следующий массив:

[['France', 'FR'], ['United Kingdom', 'UK']]

Метод options_for_select принимает массив и создает теги параметров.
Когда запись массива является самим массивом, первая запись (здесь Франция или Великобритания) является значением. А второй ключ (здесь FR или UK).

Функция select_tag создает тег выбора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...