【发布时间】:2014-06-04 17:00:28
【问题描述】:
我基本上是在尝试创建一个允许用户跟踪他们正在做什么的应用程序。所以每个用户都会有很多项目。
现在每个项目都可以有一定数量的类型,例如视频、网站、文章、书籍等,其中每种类型的项目都有许多对象(即视频项目将列出他们正在处理的所有视频,书籍项目可能有他们阅读的书籍列表)。
每个对象都有不同的变量(书籍可能有作者和长度,网站可能有 URL、排名等)
如何在 Rails 中设置这些模型?
所以基本上我会将我的项目模型与我的类型模型分开(所以项目 has_one 类型和类型属于_to 项目),然后为每种不同类型有 4 个单独的对象模型(即 objectsite)?
或者有没有更好的方法来设计这个。
Modelling Many Rails Associations
我读了这个问题,我认为这可能与我想要做的类似,但我不完全确定,因为我不完全理解它。
更新** 到目前为止,我有:
Projects
has_one type
Type
belongs_to projects
has_many objects
object
belongs_to type
但我不确定这是否是最好的方法,因为就像我说的那样,每种类型的每个对象都会不同
【问题讨论】:
-
请展示您到目前为止所做的工作,社区可能会帮助您解决您遇到的问题。但是没有人真的喜欢没有你的努力。
-
对 SO 的最佳回答来自特定问题 - 所以你会被强硬派否决(只是一个警告):)
-
我刚刚更新了问题以包括我所拥有的,这样更好吗?
-
你可以只有两个模型,
User和Project。对于不同的项目,你可以有一个project_type项目模型中的属性来处理它。或者你必须看看STI。 -
是的 - 无论如何我都在写一个答案,但如果你想知道为什么你被否决了,原因就像科学课一样 - 你需要尽可能具体
标签: ruby-on-rails