【发布时间】:2012-10-12 16:13:28
【问题描述】:
我想在我的视图中记录某些块的缓存未命中数。我将日志存储在控制器的 after_filter 中。
在视图中操作实例变量似乎是不可能的。在视图渲染期间存储信息然后提供给控制器的 after_filter 的最佳方式是什么?
【问题讨论】:
-
我希望最终缓存未命中可以通过模型记录到某个地方,为什么不让模型处理这个,让模型作为中间人,在两者之间保存数据,控制器和视图都可以随时访问.
-
以线程安全的方式将这些数据保存在模型中是否容易?缓存未命中统计信息似乎应该从模型逻辑中删除,因为它们仅与视图呈现本身相关(这是缓存的 HTML)。
-
您是否已经发现任何线程问题?与所有 cmets 一样,您似乎对线程安全感到担忧。
-
我之前在模型中存储控制器数据时遇到过线程问题,使用
Thread.current[]构造解决了。 -
(我应该指出这通常是一件坏事,但有时您的问题不适合 MVC 分离,不值得强制该模型)
标签: ruby-on-rails ruby-on-rails-3