我正在做一个爱好项目,并且有一个Event
带有 STI 子类Meal
, Outing
,Medication
等的抽象模型。Event
父模型有start_time
, end_time
,description
等。
我想为各种子类提供嵌套资源。例如,我希望能够将类的多个实例附加Image
到任何子Event
类。我希望能够将Medicine
类的多个实例附加到Medication
实体、 to 的多个实例Location
等Outing
。
我考虑多态性的原因是为了提供灵活性,以便可以想象,任何不同类型的嵌套资源都可以附加到的任何子类上,Event.
这将允许某人将“维生素 D 补充剂”的药物附加到 aMeal
上,例如.
我的问题是:
- 嵌套资源应该是多态的吗?
- 如果我使它们成为多态的,所有实例都会包含
Event
在类型表中吗? - 如果是这样,我应该让他们
has_many
建立关系吗? - 使它们
has_many
与多态相比有什么性能优势吗?