首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我应该在ruby on rails中使用has_one还是belongs_to?

我应该在ruby on rails中使用has_one还是belongs_to?
EN

Stack Overflow用户
提问于 2010-07-10 07:05:01
回答 3查看 23.2K关注 0票数 8

我想有一个Status模型,它在一些用户定义的设置后将是相对静态的(不同的用户可能有不同的状态值)。

该状态可以应用于不同的型号,例如ContactEvent

因此,contact.status返回的状态将与event.status不同

我想设计的应用程序,以便状态表有不同的类型(contactsevents)。

正确的策略和格式是什么?

我正在考虑在Contact模型中声明:has_one Status,并将:status_id存储在:contacts表中。Event也是如此。

:statuses表将包含状态值、类型和日期。

这有意义吗?你能建议一个更好的方法吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-07-10 07:33:57

这是一个关于guide on this的问题。你的情况略有不同,因为你的状态模型似乎真的需要多态,因为不同的东西将是“可统计的”。

回答您的问题时,Contact/Event has_one状态对我来说是有意义的。

票数 9
EN

Stack Overflow用户

发布于 2013-11-15 08:35:22

只是为了在更一般的设置中完成答案,这可以驱动您的选择:在具有外键的模型中使用belongs_to关联。

票数 2
EN

Stack Overflow用户

发布于 2010-07-10 07:33:37

首先,has_one关系不在当前模型中存储id。它在关系表中查找外键。为了在联系人或事件中存储status_id,您可以使用belongs_to。

其次,根据存储在状态中的信息的类型,为什么需要有一个单独的表?为什么不在要使用状态的每个模型中创建一个状态列?这里可能会有更多有用的信息。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3217067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档