2

假设我有狗,皮带和主人......如果我破坏皮带,我也想摧毁狗......但如果狗有主人......

4

2 回答 2

4

您不想在:dependent => :destroy这里使用,而是before_destroy像这样使用回调:

#leash.rb

before_destroy :destroy_dog

def destroy_dog
  dog.destroy unless dog.owner
end
于 2013-03-27T09:12:21.460 回答
0
class Book < ApplicationRecord
  belongs_to :author, -> { where active: true },
                        dependent: :destroy
end

也适用has_many,它根据where条件破坏对象

于 2018-07-04T21:52:45.140 回答