我有一个名为“联系人”的导轨模型,其中包含法律信息的基本联系信息,如电子邮件,电话,姓名等。它看起来像这样:
class Contact < ActiveRecord::Base
attr_accessible :name, :phone, :email, :city, :state, :zip_code
根据他们的联系类型,他们需要具有彼此不同的其他属性。
我喜欢这样的行为:
class DisabilityContact < Contact
attr_accessible :employed, :medical_condition, :represented
但这是不可能的,因为DisabilityContact使用的“Contact”表不包含那些额外的字段。我想建议如何构建我的模型和关系,以便能够设置这些属性,例如:
@contact = DisabilityContact.create
@contact.employed = true
OR
@contact = DisabilityContact.create
@contact.special_attributes.employed = true
P.S。我不想序列化任何数据。
谢谢!
答案 0 :(得分:0)
您仍可以将字段添加到联系人表格中,并仅在需要时使用它们。 或者您可以拥有多个表格。
文章Single Table Inheritance in Rails可能会对您有所帮助。