Ruby on rails Rails 4缓存并属于关系
假设我有Ruby on rails Rails 4缓存并属于关系,ruby-on-rails,ruby,caching,ruby-on-rails-4,Ruby On Rails,Ruby,Caching,Ruby On Rails 4,假设我有User模型和Comment模型,该模型属于:User 我知道当我想缓存列出注释的用户页面时该怎么做(通过“俄罗斯玩偶缓存”)-我对整个用户视图执行全局缓存块,并为每个用户的注释放入多个缓存块,并为所属用户关联添加touch:true。因此,当某些注释发生更改时,只有2个缓存需要更新-对于该注释和该用户 但现在我需要缓存注释视图,该视图如下所示: = comment.user.name = comment.text 因此,我们不仅需要在注释更改时更新缓存,还需要在用户名更改时更新缓存。
User
模型和Comment
模型,该模型属于:User
我知道当我想缓存列出注释的用户页面时该怎么做(通过“俄罗斯玩偶缓存”)-我对整个用户视图执行全局缓存
块,并为每个用户的注释放入多个缓存块,并为所属用户关联添加touch:true
。因此,当某些注释发生更改时,只有2个缓存需要更新-对于该注释和该用户
但现在我需要缓存注释视图,该视图如下所示:
= comment.user.name
= comment.text
因此,我们不仅需要在注释更改时更新缓存,还需要在用户名更改时更新缓存。什么是更合适的方法
我当前的解决方案是在对做出注释的用户进行保存回调之后。更新\u all(updated\u at:updated\u at)
并在缓存(注释)
块中包装视图。但我不喜欢它,因为我只想检测某些字段的更改
另一个解决方案是将视图包装到缓存(comment,comment.user)
中,但我认为这更糟糕,因为它为用户执行额外的查询
我错过了什么明显的东西吗?你的经验是什么?我认为你必须在你的用户
模型中使用有很多:注释,autosave:true