如何防止层次结构中的循环引用?

时间:2013-09-25 06:36:44

标签: ruby activerecord

我想解决的问题是防止循环引用,而不仅仅是在直接父级和子级之间,但我还想确保新的子级还没有被用作记录层次结构中的父级。

我想我可以通过在执行代码之前拦截父级的分配来解决问题,     self.parent = maybe_the_wrong_choice 然后在保存更改之前执行重要验证。

我是在正确的道路上吗?如果是这样,我如何在模型验证中获取属性的旧值(例如self.old_parent)并在保存记录之前将其与新父(self.parent)进行比较?

感谢您的期待!

1 个答案:

答案 0 :(得分:0)

您可以通过self.parent_was获取旧父级,并通过self.parent获取新父级。