ruby-on-rails - Rails 3 抽象类与继承类

标签 ruby-on-rails ruby-on-rails-3 inheritance abstract-class

在我的 Rails 3 模型中,我有两个类:产品、服务。我希望两者都是 InventoryItem 类型,因为我有另一个名为 Store 和 Store has_many :InventoryItems

的模型

这就是我想要达到的目标,但我不确定如何在我的 InventoryItem 模型以及我的产品和服务模型中对此进行建模。 InventoryItem 应该只是 Product 和 Service 继承的父类,还是应该将 InventoryItem 建模为 Product 和 Service 扩展的类抽象。

提前感谢您的建议!

最佳答案

就我个人而言,我不会使用继承。你为什么不直接说

has_many :services
has_many :products

继承的成本非常高——无论是在运行时还是在可读性方面。这种情况听起来像是一个非常基本的情况,不需要继承。您真的希望产品和服务真正从基类继承某些东西吗?您所写的内容表明您只想建立关联。

关于ruby-on-rails - Rails 3 抽象类与继承类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5169372/

相关文章:

ruby-on-rails - Rails - 从一个模型在另一个模型中创建实例

ruby-on-rails - 我们应该使用 Rails 路由还是 React 路由器

ruby-on-rails - Rails 应用程序中 Controller 的主体类

ruby-on-rails-3 - 使用考拉更新 Facebook 访问 token

java - 从多个类继承?

ruby-on-rails - 在单个应用程序上保护多个域

ruby-on-rails - Rails 3路由如何匹配多个?

ruby-on-rails-3 - Rails3 为可确认模块设计自定义路由

python - Python 中的纯虚方法

java继承: in the parent method write code that uses child variable