Как мне спроектировать мою модель (где мне нужно представить хеш или массив как часть атрибутов)? - PullRequest
1 голос
/ 01 декабря 2011

Я новичок в Rails и дизайне баз данных в целом.Вот что я пытаюсь сделать: я хочу создать модель, назовите ее Command, которая представляет собой команду, которую можно использовать в командной строке.Таким образом, у каждой команды есть сама команда и описание того, что она делает.Как мы все знаем, команды имеют флаги / опции.Я хочу иметь возможность связать множество флагов вместе с их описанием для каждой команды.Могу ли я как-то включить хэш / массив, который будет хранить эти флаги / опции как часть модели, или мне нужно создать отдельную модель для флагов и представлять каждую команду как имеющую много флагов?

Любой совет / освещение будут с благодарностью.

РЕДАКТИРОВАТЬ -

Так что я слышал, что я могу использовать сериализованные атрибуты.Если я сделаю это, как я могу получить мой хэш, который будет представлен как внутренний объект (со строкой / значениями) в представлении json моей модели?

1 Ответ

4 голосов
/ 01 декабря 2011

Различные команды используют одни и те же флаги. Флаги типа -e, -i являются общими для многих команд. Давайте возьмем пример ps -e и strace -e, где один и тот же флаг используется двумя разными командами для двух разных целей. Для достижения правильного дизайна базы данных, где каждый флаг зависит от команды, которую он использует. Это звучит как хороший пример ассоциации has_and_belongs_to_many (habtm) (поскольку каждая команда имеет много флагов, и каждый флаг может появляться для многих команд).

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