我在我的应用程序中使用单表继承,并且在如何最好地实例化子类方面遇到了困境。假设我们有一个类Dwelling
,子类Apartment
和House
。现在Dwelling
与另一个类相关联Neighborhood
。
模型/住宅
belongs_to :neighborhood
模特/邻里
has_many :dwellings
假设我已经按如下方式实例化了一个新社区,并且我想创建一个House
n = Neighborhood.new
以下哪一个是正确的方法?
n.dwellings.build
House.new
如果我使用第一种方法进行实例化,我必须填写住所:type
。但是使用第二种方法我必须输入外键。我还读到我不应该通过它的父类实例化一个子类,这样就可以立即排除n.dwellings.build
这个建议是否正确?任何指导将不胜感激,谢谢!