Сейчас я делаю довольно сложную модель на Ruby on Rails, и мне было интересно, каков был правильный "Rails" способ создания "пользовательских типов" для атрибутов.Например, у меня есть таблица businesses
, которая имеет строковый атрибут region
.Но регион может быть только одним из предопределенных списков возможностей (которые впоследствии могут быть расширены).Мой вопрос: где я могу определить этот тип региона?
Я знаю, что мог бы создать конкретную таблицу regions
(т. Е. Модель региона), в которой могли бы быть размещены все параметры, а затем я мог бы установить связьмодели, которые имеют регионы в этой таблице.Проблема заключается в том, что у меня в модели много таких типов, поэтому в моей базе данных более половины таблиц составляют «таблицы пользовательских типов», в которых хранятся только возможные значения для этих типов.Это практично?
Я также читал, что вы можете сделать это с помощью проверок (т. Е. Проверять при сохранении записи, чтобы переменные находились в пределах возможных значений).Это кажется очень непрактичным, так как я хочу сделать эту модель расширяемой, и представления формы должны будут загружать возможные значения типов в поля выбора и т. Д. Если бы я использовал этот метод, каждый раз, когда мне нужно было добавить новое возможное значение длятипа, я должен был бы изменить проверку и представления.
Есть ли стандартный способ сделать что-то подобное?Что-то вроде определения типов (может быть, моделей без поддержки БД?), Где я мог бы легко перечислить все возможные значения?
Спасибо за любую помощь или предложения по этому вопросу.Я уже давно беспокоюсь, когда работаю с приложениями RoR, и я устал от взлома.