【发布时间】:2018-08-01 18:38:47
【问题描述】:
我有一个Profile 表,其中包含一个工作地址和一个家庭地址。如果这些个人资料的用户住在一起,则多个个人资料可以共享相同的家庭地址(如果他们一起工作,则可以共享工作地址)。有什么方法可以实现这一目标?我认为has_many :through 在这种情况下会起作用,但我想不出一种方法来实现它。
理想情况下,我希望能够执行Profile.home_address 或Profile.addresses.where(address_type: "home") 之类的操作
我在寻找一些答案时看到了这个帖子: Order having multiple addresses of different kinds
方法 1 和 2 似乎不适用于我的情况,因为外键位于 Address 表中,这将允许地址仅绑定到一个 Profile。方法 3 会起作用,但我只是想知道是否有另一种方法可以做到这一点。拥有home_address_id 和work_address_id 似乎表明我拥有HomeAddress 和WorkAddress 模型。
【问题讨论】:
标签: ruby-on-rails associations