这是我目前正在使用的模型的基本示意图,以及如何将它们关联在一起:
模型本身在很大程度上并不重要,但是我希望能够将Contracts
与一个(并且只有一个)其他模型(Account
,Location
或{{ 1}})。业务逻辑是相似的,但取决于关联。
我的第一个想法是采取一种天真的方法,并在Region
上为关联模型设置外键,并指定外键使用枚举指向哪个模型。
就架构而言,是否存在推荐的方法?我是否应该退后一步,首先考虑哪些设计决策使我提出了这个问题?
我正在使用Rails Contract
和最新版本的PostgreSQL。
答案 0 :(得分:2)
我会考虑一个多态关联。您可以根据可收缩类型应用类似的方法。