【问题标题】:How to associate 3 different models in to a 2 model relationship如何将 3 个不同的模型关联到 2 个模型关系
【发布时间】:2019-12-01 07:31:41
【问题描述】:

问题的要点是我想知道关联以下设置的最佳方式。

我有 2 个客户模型。 Individual Customer & Corporate Customer.

我还有另一个Vehicle 模型。我想单独维护。

我想要一个名为 VehicleOwner 的 HMT 模型。现在将两 (2) 个客户中的任何一个的 r/ship 添加为所有者和车辆。

采用这种方法的原因是架构设计允许将相同的车辆迁移到其他客户,而不是每次客户想要添加车辆时;即使我们有车辆,他们也会不断添加车辆。

我的问题是这个? 如何在车主中链接。所有者可以是个人客户或公司客户。

或者还有其他更好的方法来映射两 (2) 位客户与车辆。

谢谢

【问题讨论】:

  • 您好 Maina,如果我的回答帮助您解决了您的问题,您能否将其标记为已接受?
  • 我最终没有关联它。我只是使用验证来确保这种关系存在。我当时无法使用您的解决方案。

标签: ruby-on-rails ruby-on-rails-6


【解决方案1】:

也许您正在 Rails 中寻找 多态关联,在您的情况下,VehicleOwner 模型应该看起来像

belongs_to :customer, polymorphic: true

IndividualCustomerCorporateCustomer 模型中

has_many :vehicle_owners, as: :customer

这只是一个如何实现的示例,您可以在官方 Rails 指南中阅读更多信息

https://guides.rubyonrails.org/association_basics.html#polymorphic-associations

希望有帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-29
    • 1970-01-01
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2023-02-16
    • 2015-06-10
    • 1970-01-01
    相关资源
    最近更新 更多