我需要在这里为以下模型设置一个多类继承模型。基本上我正在构建一个可扩展的联系人目录。从基类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_name。如何构建我的数据库和关联以实现这一目标?