2017-04-03 53 views
0

我有一个快速而且很基本的问题要问。 我想创建一个新的模型,它有一个参数可以是几种模型类型之一。 例如:参数'targeted_object'可以是模型A的实例或模型B的实例。 目前,我不认为我需要类似的模型A和模型B的行为,所以我的第一个猜测是为模型A和模型B创建名为TargetableObject的主模型:创建继承。 但是,这是做到这一点的最好方法,或者我需要做一些其他的事情,我假设现在没有相关的行为为主对象的孩子?Ruby:继承或其他什么

感谢

+0

听起来像[单表继承](https://eewang.github.io/blog/2013/03/12/how-and-when-to-use-single-table-inheritance-in-rails /)是你需要的。 – mudasobwa

+0

感谢您的回答我会读它:) –

回答

0

如果我理解正确,Polymorphic associations可能是你所需要的。

从滑轨指南:

随着多态关联,模型可以属于一个以上的其他模式,在单一的关联。例如,您可能有一个属于员工模型或产品模型的图片模型。

+0

它不属于属性,但更多的泛型类型为Java中的T. –