2009-06-06 82 views
2

我正在Ruby on Rails上构建一个“小型”个人Web应用程序。我已经设置好了,以便使用MySQL数据库。Rails目录数据库结构

这个想法是,我要用这个应用程序存储和浏览各种数据(笔记,书签,电影和应用评级)。 我想索引/分类这个数据在一个伪目录结构。 (目录结构仅存在于数据库中 - 不在实际目录中)

例如,书签可以存储在根 - >书签 - >有趣 - >键盘猫

现在我已经看到this question但我现在不知道该解决方案是否是在rails应用程序中执行此操作的最佳方法。 与我上面链接的问题I类似的解决方案也是我想到的。但是也可以添加一个具有文件夹与其内容之间关系的额外表格。

问题是如何构建模型和数据库? (“正确”的方式)

更新:(@戴夫和其他标注器) 是的,我想过标签。起初我实际上会问一个更大的问题,但我无法以简明的方式这样做。该协议是,它也将有可能标记项目。而实际上,这些目录是ARE标签 - 你可以说我想要两种组织方式 - “结构化”标签(目录)和“免费”标签(旧的常规标签)。但是,这是一个完全不同的故事......

现在我只想看到为目录问题做轨道模型和数据库结构的“正确”方式。

+0

@qff,基于你的更新,我的答案的第一部分就是你想要的。只是一系列一对多的关系。 (即,将has_many&belongs_to放置在适当的模型中)。 – fig 2009-06-06 20:34:18

回答

1

这听起来像是你想要一系列一对多的关系,如果它真的模仿一个目录结构。例如。图片(如'键盘猫')只能属于一个类别(如'funny'),而每个类别可以有很多图片。

但是,您可能想重新考虑目录结构&选择更灵活的东西,如标签。因为如果'键盘猫'不仅仅属于'滑稽',它会打破定义标准目录结构的一对多关系。