所以我们使用相同的控制器来提供我们网站的移动和桌面视图。我们还大量使用动作缓存来缓存 memcache 中页面的 html。我一直在尝试找出一种方法,将所有移动请求的缓存前缀全局更改为“views-mobile/”,而不是标准的“views/”。这样,移动和桌面页面将保存在不同的命名空间下,因此内存缓存中没有冲突。
我们可以通过使用 is_mobile? 的控制器变量创建自定义 cache_path 来为每个 caches_action 方法执行此操作,但我们更愿意以某种方式全局执行此操作。有什么建议么?我想这需要猴子修补 ActionController::Caching 但我无法弄清楚它在哪里生成“views/”前缀。