我有一个订单,地址和用户模型。订单可以具有帐单和送货地址。用户可以拥有多个保存的地址。对所有的东西都使用地址模型是有意义的。我关心的是订单和帐单/发货地址关系。这些关系是多态关联的良好候选者吗?
我不知道这是否可以用多态关联的工作。
class Order
has_one :billing_address, as: :addressable, polymorphic: true
has_one :shipping_address, as: :addressable, polymorphic: true
end
class User
has_many :addresses, as: :addressable, polymorphic: true
end
class Address
belongs_to :addressable, polymorphic: true
end
我的建模是否正确?人们通常如何在Rails中解决这个问题?
我能反转这个地方订单belongs_to :billing_address
和shipping_address
,但是这意味着其在地址模型冗余user_id
。
我认为这是不可能使用STI与多态关联? –
不确定。我承认,自从我完成这个任务已经很长时间了(第2条轨道可能?),但是它的确有效。如果上面的工作你需要两个。应该很容易看出它是否不再是一个选项。 –
干杯!对不起,没有足够的代表+1! –