Как правильно / эффективно моделировать подклассы в рельсах 3 - PullRequest
1 голос
/ 22 февраля 2011

После очень непонятного дня, посвященного наследованию одной таблицы, полиморфным ассоциациям и т. Д., Я в полном недоумении относительно правильного способа моделирования довольно простой задачи.

По сути, мне нужно представлять разные типыстраницы.Отдельные типы страниц будут иметь переменный набор полей, поэтому я ожидаю сохранить их как разные модели.Они будут делиться определенными частями данных (например, опубликованы ли они в настоящее время) и некоторыми функциями (например, для создания статической версии страницы).Прежде чем посмотреть, как rails работает с вещами, моей естественной реакцией было подумать, что мне нужен объект Page с остальными подклассами, но кажется, что, возможно, это не самая лучшая вещь.В качестве альтернативы мне кажется, что я могу использовать полиморфную ассоциацию, но я не совсем понимаю, как это реализовать.

Это мой первый раз, когда я использую рельсы для реального проекта, и, хотя я думаю, что смог бы что-то сделать вместе, я действительно был бы признателен за помощь в выборе правильного метода.

1 Ответ

3 голосов
/ 23 февраля 2011

Ты правильно думаешь, по моему мнению.Это либо наследственные, либо полиморфные модели.Я думаю, что полиморфные модели - лучший путь.У вас будет модель страницы, а затем User_Page, Blog_Page или что угодно.Каждая из этих моделей будет иметь некоторые атрибуты, которые другие не имеют.Полиморфный довольно легко реализовать.Пожалуйста, посмотрите здесь: http://asciicasts.com/episodes/154-polymorphic-association

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