在rails 2.2.2(ruby 1.8.7-p72)中,我想在实际执行之前评估销毁对象的影响。也就是说,我希望能够生成受以下影响的所有对象的列表:dependent=>:destroy(通过对象的关联)。我试图解决的真正问题是给用户一个将被删除的所有内容的列表,并让他们确认操作。
有人能推荐一个好方法来解决这个问题吗?我刚开始研究activerecord::associations,但进展不大。
更新:在我的特殊情况下,我有不同级别的对象(A-->B-->C)。

最佳答案

这应该有助于你开始…显然,您必须对其进行自定义,但这将列出依赖于类blogEntry销毁的所有关联名称:

BlogEntry.reflect_on_all_associations.map do |association|
  if association.options[:dependent] == :destroy
    # do something here...
    association.name
  end
end.compact
=> [:taggings, :comments]

09-26 15:45