例如,我想要一个客户同时拥有技术联系人和管理员联系人的模型。 我想要tech_contact和admin_contact的客户记录中的命名字段。
密钥应位于Customer表中,因为多个客户使用相同的技术联系人......
我似乎无法使其发挥作用。
有什么想法吗?
谢谢,
Ĵ
答案 0 :(得分:0)
客户模式:
class Customer < ActiveRecord::Base
has_one :tech_contact
has_one :admin_contact
end
您可以创建一个名为Contact的基本模型,并使用单表继承(STI)。
class Contact < ActiveRecord::Base
end
TechContact:
class TechContact < Contact
belongs_to :customer, :foreign_key => :customer_id
end
AdminContact
class AdminContact < Contact
belongs_to :customer, :foreign_key => :customer_id
end
表架构: customers:id,first_name,:last_ name,... contacts:id,:type,customer_id,...
但这只是一次机会。