如何触发 dependent: :destroy on a child only when grand-parent is deleted?
How to trigger dependent: :destroy on a child only when grand-parent is deleted?
当我删除 AdTemplate
记录时,我不希望其连接的 page_view_stats data
也被删除。但是,当我删除 Campaign
记录时,我 do 希望 ad_templates
也删除其所有 page_view_stats 记录。也许依赖: :destroy 可以接受一些 :if 条件来实现它?
class Campaign < ActiveRecord::Base
has_many :ad_templates, dependent: :destroy
end
class AdTemplate < ActiveRecord::Base
belongs_to :campaign
has_many :page_view_stats
end
您可以在 Campaign
中使用 after_destroy 回调
after_destroy do
# execute some logic
end
当我删除 AdTemplate
记录时,我不希望其连接的 page_view_stats data
也被删除。但是,当我删除 Campaign
记录时,我 do 希望 ad_templates
也删除其所有 page_view_stats 记录。也许依赖: :destroy 可以接受一些 :if 条件来实现它?
class Campaign < ActiveRecord::Base
has_many :ad_templates, dependent: :destroy
end
class AdTemplate < ActiveRecord::Base
belongs_to :campaign
has_many :page_view_stats
end
您可以在 Campaign
中使用 after_destroy 回调after_destroy do
# execute some logic
end