2011-06-03 81 views
4

我有几个问题。Ruby on Rails数据库 - 如何组织CMS?

我正在用Rails制作一个基本的CMS来获取它的一个挂件。它将包含属于某些类别的页面,博客帖子(认为wordpress),管理员可以从管理员区域添加/编辑该页面。不过,我对数据库和它们之间的关系有点不稳定。

我希望管理员可以完全访问页面和博客文章;博客文章和页面必须是独立的实体 - 页面可以进入菜单,而博客文章则显示在博客上。

就数据库关系而言,如何组织这些数据库关系,因此它们都非常合适?

页面属于并有很多类别 帖子属于并有很多类别?

另外,在什么情况下使用add_index()必要/可取?

从鸟瞰来看,在为CMS创建数据库时,您会记住哪些原则?

回答

2

流行的CMS系统想想在关系方面:

  • 一页belongs_to的类别
  • 类别的has_many页
  • 如果你想
  • 为页面添加更多类别,您可以考虑标签(查看acts_as_taggable_on gem),它更简单,更清晰地管理;)

最后,在需要更快/频繁查找的列上添加索引