Я занимаюсь созданием супер простой CMS для обработки небольших «статических» проектов типа страниц (например, небольших сайтов для друзей). У меня разные «типы страниц», которые я хотел бы добавить. Ранее я создал нечто подобное в Coldfusion. Посмотрел что-то вроде этого:Как структурировать контент в приложении Ruby (RoR)?
стол content_type:
content_type_code varchar(10)
content_type_name
содержимое таблицы:
content_id
content_type_code varchar(10)
content_name
content_desc
content_url
Я хотел бы создать тип контента под названием «блог» или «фото», и каждый раз добавляли содержание , ему будет присвоен content_type_code. Затем в/blog/я запросил бы весь контент, у которого был content_type_code «blog».
Теперь, когда я использую Ruby/RoR, я пытаюсь думать о вещах по-другому. Я думал, что лучший способ - использовать вложенные страницы с awesome_nested_set (https://github.com/collectiveidea/awesome_nested_set). Но я не уверен, что это лучшее решение.
Тогда я мог бы создать страницу под названием «блог» и добавить к этому много страниц. Поэтому, по существу, верхний уровень будет иметь «content_type» из моего предыдущего примера.
Может ли кто-нибудь направить меня в правильном направлении на то, что лучший метод? Я новичок, ищущий удар в правильном направлении.
EDIT
Я хотел бы добавить, что единственная реальная вещь, которую я хотел бы изменить между различными «типами» контента будет макет и где они отображаются («фото» содержание в/фото /, «блог» в блоге /).
Префикс каждого столбца с именем таблицы является уродливым и нахмурился в сообществе Rails. Табличные псевдонимы существуют по какой-то причине, используйте их. – ryeguy 2010-11-29 21:01:03
Примеры таблиц были из предыдущего приложения, созданного в Coldfusion. – jyoseph 2010-11-29 22:01:10