【发布时间】:2010-11-29 19:51:30
【问题描述】:
我正在构建一个超级简单的 CMS 来处理较小的“静态”页面类型项目(例如 - 朋友的小型网站)。我想添加不同的“页面类型”。我之前在 Coldfusion 中构建了类似的东西。看起来像这样:
表格内容类型:
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”。
有人可以引导我朝着正确的方向前进,最好的方法是什么?我是一个新手,正在寻找正确的方向。
编辑
我应该补充一点,我要在不同“类型”内容之间改变的唯一真实的事情是布局和它们的显示位置(/photos/ 中的“照片”内容,/blog/ 中的“博客”内容)。
【问题讨论】:
-
为每一列加上表名的前缀是丑陋的,并且在 Rails 社区中是不受欢迎的。表别名的存在是有原因的,请使用它们。
-
表格示例来自之前在 Coldfusion 中构建的应用程序。
标签: ruby-on-rails