哪些记录受ActiveRecord依赖影响:销毁?

时间:2012-09-10 09:14:26

标签: ruby-on-rails activerecord

我有几个ActiveRecord对象,其关联标记为dependent: :destroy。当用户删除其中一个对象时,我想向他提供一个将(递归)删除的所有对象的列表。我如何获得此列表?

我找到了affected_on_destroy gem here,但它并没有真正完成,似乎是rails 2.2。是否有一些更新的当前宝石或铁轨中的某些功能来做到这一点?

2 个答案:

答案 0 :(得分:1)

Class.reflect_on_all_associations.
  keep_if{ |assoc| assoc.options[:dependent] == :destroy }.map(&:name)

这可能不是你想要的,但我认为reflect_on_all_associations应该能得到你想要的东西。

答案 1 :(得分:1)

我写了一个宝石affected_by_destroy,可以找到来源here