Ruby 2.1.2和Rails 4:我有一个父对象和一个子对象。我对子对象进行了before_destroy
回调,可以根据标志阻止它的销毁。但是,我还需要其父级能够通过dependent: :destroy
关系销毁它。
如何在验证中检查其破坏的来源?
我在这里找到了marked_for_destruction?
和一系列相关问题,但似乎没有人关注before_destroy
回调,它在对象(甚至其父对象)被标记为销毁之前运行。我一直在窥探回调中可以访问的内容已经有一段时间了,似乎无法找到任何东西。
我显然可以选择使用dependent: :delete
,尽管这似乎错过了重点。我确信我可以想出一些其他的东西,比如在父节点上做一个before_destroy,然后用一些参数或类似的东西调用一个猴子修补的destroy
方法,但它似乎也忽略了这一点。
有什么建议吗?父母身上是否有一些我失踪的财产,或追踪destroy
来电的来源?提前谢谢!