加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 触发依赖::使用重写的destroy-destroy进行破坏

发布时间:2020-12-16 23:11:15 所属栏目:百科 来源:网络整理
导读:在我们的应用程序中,我们重写了ActiveRecord destroy方法,以便我们的记录不会被删除(因此用户可以取消删除).像这样: def destroy self.is_deleted = true self.save freezeend 然而,这似乎已经禁止了我们has_many关系的依赖性破坏.换句话说,如果在父对象上
在我们的应用程序中,我们重写了ActiveRecord destroy方法,以便我们的记录不会被删除(因此用户可以取消删除).像这样:
def destroy
  self.is_deleted = true
  self.save
  freeze
end

然而,这似乎已经禁止了我们has_many关系的依赖性破坏.换句话说,如果在父对象上调用destroy,则has_many的子对象不会被销毁(它们不会被删除,即SQL’DELETE …’,也不会被重写的destroy-method被调用).

如何触发子对象的销毁.

谢谢!

解决方法

您需要触发destroy回调.
def destroy
  self.is_deleted = true
  self.save
  run_callbacks :destroy
  freeze
end

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读