2014-10-22 60 views

回答

1

不,您需要设置dependent密钥。

has_many :pages, dependent: :destroy 

正如OP指出delete_all有另一种选择。区别在于delete_all不会触发模型的before_destroy回调,它只会从数据库中擦除它们。

这是有益的,因为它不需要Rails将DB对象加载到Ruby中,这很慢,但它也会删除它们,而不管您定义的回调是什么。

+0

@@ Brian Wheeler,还有另一种选择:delete_all。在destroy和delete_all之间,如果我们只想删除关联的子记录,是否有区别?非常感谢。 – user938363 2014-10-22 03:45:21

+0

是的,请参阅我的编辑 – OneChillDude 2014-10-22 17:01:43

+0

您的意思是:delete_all是有益的,因为它不需要Rails将DB对象加载到ruby中? – user938363 2014-10-22 18:57:10

相关问题