module Mongoid::TouchParentsRecursively
Public Instance Methods
touch_parents_recursively()
click to toggle source
# File lib/mongoid_touch_parents_recursively.rb, line 17 def touch_parents_recursively # cache @__parents @__parents ||= begin __parents = Set.new # 按 @diyumoshushi 建议,CRUD需要通知到所有关联的父级对象,包括多对多,这样可以兼容被删除的情况。 # @mvj3 但是只在第一级就可兼容多对多情况下被删除的情况。因为关联的第二级以上就没有被删除了。 # 根本解决的是 **引用的问题**,去通知位于顶级的subject去更新。 Utils.fetch_and_store_parent __parents, self, true end @__parents.each(&:touch) end