我这里需要为以下模型建立一个多类继承模型。基本上我正在构建一个可扩展的联系人目录。从基类 Contact 我打算派生其他类,即:
class Contact
# the super class
attr_accessible :name, :about
end
class Person < Contact
attr_accessible :first_name, last_name, :description, :works_for_company_id
end
class Company < Contact
attr_accessible :company_name, :location, :services
end
每个模型对应一个不同的表 - 我假设在父类和子类之间会有一个 has_one belongs_to 关系但是我想知道是否有一个可以缓解它的宝石。或者,如果我必须自己做,我将如何实际完成它。
例如,contact.name 实际上是 person.first_name+' '+person.last_name 代表个人或 company.company_name 代表公司。如何构建我的数据库和关联以使其正确?