是否有一种简单的方法可以销毁与特定记录关联的数据,而不会破坏原始记录。例如,如果我有
class User < ActiveRecord::Base
has_many: pets, dependent: :destroy
has_many: houses, dependent: :destroy
end
class Pet < ActiveRecord::Base
belongs_to :user
end
class House < ActiveRecord::Base
belongs_to :user
end
如果我想删除用户及其所有宠物和房屋,我可以执行以下操作:
user = User.first
user.destroy
但是,如果我想留住用户,但只是想删除他们的宠物和房屋怎么办?有没有一种简单的方法可以做到这一点?
答案 0 :(得分:1)
你必须手动完成,例如回调。
class User
{callback} :destroy_pets
private
def destroy_pets
self.pets.delete_all
end
end