我有一个用户类has_many
地址 - 和地址belongs_to
用户
如何定义它,以便在删除地址时,它也会从user.adresses
中删除,反之亦然,如果我user.addresses.delete(address)
,则Addresses.all
中不再显示该地址?
答案 0 :(得分:1)
要在删除用户时销毁地址,您可以在关联中声明它。
class User < ActiveRecord::Base
has_many :addresses, :dependent => :destroy #destroy addresses when user destroyed
end
您不需要为反过来做任何事情,因为外键在Address
模型上。
答案 1 :(得分:0)
您需要传递:dependent =&gt; :破坏用户模型的has_many实现
has_many :addresses, :dependent => :destroy
如果您这样做,那么如果删除了一个用户,那么与该用户关联的所有Address对象也将被删除。