1

我有一个名为“Contacts”的 Rails 模型,它包含法律线索的基本联系信息,例如电子邮件、电话、姓名等。它看起来像这样:

class Contact < ActiveRecord::Base

  attr_accessible :name, :phone, :email, :city, :state, :zip_code

根据他们的联系类型,他们需要具有彼此不同的附加属性。

我想要这样的行为:

class DisabilityContact < Contact 
    attr_accessible :employed, :medical_condition, :represented

但这是不可能的,因为 DisabilityContact 使用不包含那些额外字段的“联系人”表。我想要关于如何构建我的模型和关系以便能够设置这些属性的建议,例如:

@contact = DisabilityContact.create
@contact.employed =  true

或者

@contact = DisabilityContact.create
@contact.special_attributes.employed = true

PS我不想序列化任何数据。

谢谢!

4

1 回答 1

0

无论如何,您都可以将这些字段添加到联系人表中,并仅在需要时使用它们。或者你可以有不止一张桌子。

Rails 中的单表继承一文可能对您有所帮助。

于 2012-09-11T22:14:27.107 回答