2012-12-15 127 views
0

我有一個用戶類has_many地址 - 和地址belongs_to用戶。
我該如何定義它,以便當一個地址被刪除時,它也會從user.adresses中刪除,反之亦然,如果我做的是user.addresses.delete(address),那麼它不會再出現在Addresses.all刪除連接對象

回答

1

要刪除用戶時刪除地址,您可以在關聯中聲明它。

class User < ActiveRecord::Base 
    has_many :addresses, :dependent => :destroy #destroy addresses when user destroyed 
end 

你並不需要做對周圍的其他方法什麼,因爲外鍵是在Address模型。

0

你需要傳遞:依賴=>:破壞用戶模型的has_many realtionship

has_many :addresses, :dependent => :destroy 

如果你這樣做,那麼,如果用戶被刪除,那麼所有與該用戶相關聯的地址對象將也被刪除。