我需要创建一个联系模型,但我想将它链接到至少两个模型(供应商和客户)。如果我创建了一个多态关联,我最了解的是每个联系人仍然只有一个连接。
我错过了什么吗?
答案 0 :(得分:0)
您可以拥有一对多polymorphic association。在您的示例中,它将类似于:
class Contact < ApplicationRecord
belongs_to :contactable, polymorphic: true
end
class Client < ApplicationRecord
has_many :contacts, as: :contactable
end
class Vendor < ApplicationRecord
has_many :contacts, as: :contactable
end
我不确定你是否一定需要它。基本的has_many关联应该可以解决问题。
class Contact < ApplicationRecord
belongs_to :client
belongs_to :vendor
end
class Client < ApplicationRecord
has_many :contacts
end
class Vendor < ApplicationRecord
has_many :contacts
end