2016-03-22 3 views
1

У меня есть объект пользователя, который имеет столбец nationality, который является строкой. Пользователь при регистрации может выбрать свою национальность через выпадающий список. Мне интересно, где я должен хранить эту константу NATIONALITIES, видя, что я буду огромным массивом строк.Где хранить национальности в приложении Rails?

+0

Вы можете рассмотреть возможность поиска в [country_select gem] (https://github.com/stefanpenner/country_select) –

ответ

2

У вас должна быть таблица базы данных с именем countries. Вы можете использовать эту таблицу для заполнения выпадающего списка nationalities.

Обновить тип данных nationality столбец users таблица из строки в целое. Когда пользователь выберет страну, добавьте соответствующий номер id в столбец nationality.

+0

Нужно ли, чтобы я сделал новую таблицу для стран? Я буду использоваться только как строка в пользовательской модели. Кроме того, страны будут оставаться довольно постоянными в течение длительного времени, поэтому я не вижу смысла часто его редактировать. – ConstantMalachi

+0

При необходимости он будет использоваться в других моделях. Я бы предложил и проиндексировал этот новый целочисленный столбец, если вы планировали найти своих пользователей по национальностям. –

0

Если вам нужен массив постоянных строк для гражданства, нет необходимости в создании модели.

Пробег: Nationality Gem. Это просто, как звонить Национальность :: NATIONALITY.

Смежные вопросы