说我有狗,皮带和主人......如果我摧毁了一条皮带我也想要摧毁这条狗......但是如果这只狗有一个拥有者那就没有..
答案 0 :(得分:2)
您不想在此使用:dependent => :destroy
,而是使用before_destroy
回调,例如:
#leash.rb
before_destroy :destroy_dog
def destroy_dog
dog.destroy unless dog.owner
end
答案 1 :(得分:0)
class Book < ApplicationRecord
belongs_to :author, -> { where active: true },
dependent: :destroy
end
也为has_many
工作,它根据where
条件破坏对象