首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >管理同一模型中的一系列has_many关系的Rails方法是什么

管理同一模型中的一系列has_many关系的Rails方法是什么
EN

Stack Overflow用户
提问于 2010-10-06 03:30:50
回答 1查看 74关注 0票数 0

我使用的是Rails3。

主模型是Product

代码语言:javascript
复制
:product has_many :images
:product has_many :related_products (self-referential)
:product has_many :descriptions
:product has_many :specifications
:product has_many :upc_codes
:product has_many :prices

你明白了吧。我正在尝试确定是否可以将此硬塞到属性模型中,在属性模型中,属性是价格、规格、描述等。但我遇到的问题是,虽然其中一些子模型只有一个属性,但其他子模型有很多属性。例如,Image可能只有path属性,但Description可以有文本值和语言代码,Price可以有price和currency组件。

Properties模型提供了很大的灵活性,但是如果我要处理包含多个属性的子属性,它就会失效。

这两种情况我都需要,这是真正的答案吗?始终与产品一对一的属性的属性方式,以及每个单独的模型(价格、描述等)对于那些具有多个属性的子模型?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-10-07 22:00:07

如果属性具有一组非常相似的方法、用例和行为,那么将它们合并到单个属性模型中将是有意义的。

如果它们各自以不同的方式工作,需要不同的方法和行为,那么您目前所描述的就是正确的。

如果情况介于两者之间,您可以使用Single Table Inheritance来避免代码重复,并保持设计简单。

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

https://stackoverflow.com/questions/3867010

复制
相关文章

相似问题

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