首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails 3抽象类与继承类

Rails 3抽象类与继承类
EN

Stack Overflow用户
提问于 2011-03-02 23:03:57
回答 2查看 1.4K关注 0票数 2

在我的Rails3模型中,我有两个类: Product,Service。我希望两者都是InventoryItem类型,因为我有另一个名为Store and Store has_many :InventoryItems的模型

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

提前感谢您的建议!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-02 23:23:46

我都不会使用,并遵循Mörre建议的让InventoryItem成为连接模型的方法:

代码语言:javascript
复制
class Store
  has_many :inventory_items
  has_many :products, :services, :through => :inventory_items
end

class InventoryItem
  belongs_to :store
  belongs_to :products, :services
end

class Product
  has_many :inventory_items
  has_many :stores, :through => :inventory_items
end

class Service
  has_many :inventory_items
  has_many :stores, :through => :inventory_items
end
票数 1
EN

Stack Overflow用户

发布于 2011-03-02 23:11:11

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

代码语言:javascript
复制
has_many :services
has_many :products

继承是非常昂贵的--无论是在运行时,还是在可读性方面。这个案例听起来像是一个非常基本的案例,不需要继承。您真的想让产品和服务真正从基类继承一些东西吗?您所写的内容表明您想要的只是建立关联。

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

https://stackoverflow.com/questions/5169372

复制
相关文章

相似问题

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