Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 缓存摘要和Mongoid触摸_Ruby On Rails_Mongoid - Fatal编程技术网

Ruby on rails 缓存摘要和Mongoid触摸

Ruby on rails 缓存摘要和Mongoid触摸,ruby-on-rails,mongoid,Ruby On Rails,Mongoid,我有一些模型,其中父模型需要更新的_at字段以使缓存摘要无效。以下是我的基本(简化)模型: 如果我创建了一个新职位,则会触及部门和位置祖先。不幸的是,如果我更新或删除一个职位,什么都不会发生。我见过需要手动调用touch的引用,例如: after_save :touch before_destroy :touch 在这种情况下,正确的用法是什么?当它只需要启动层次结构时,是否需要使用这些回调?文档不清楚这是如何运行的。有人能帮我澄清一下吗?谢谢。我自己刚遇到这个问题。基于aft

我有一些模型,其中父模型需要更新的_at字段以使缓存摘要无效。以下是我的基本(简化)模型:

如果我创建了一个新职位,则会触及部门和位置祖先。不幸的是,如果我更新或删除一个职位,什么都不会发生。我见过需要手动调用touch的引用,例如:

    after_save :touch
    before_destroy :touch

在这种情况下,正确的用法是什么?当它只需要启动层次结构时,是否需要使用这些回调?文档不清楚这是如何运行的。有人能帮我澄清一下吗?谢谢。

我自己刚遇到这个问题。基于after_save/before_save解决方案,您可能已经遇到了这个GitHub问题,但其要点是触摸选项按预期工作。也就是说,它只在创建或销毁子文档时才会触发(有一种奇怪的情况是销毁没有完全涵盖在内)

    after_save :touch
    before_destroy :touch