假设我们在控制器中有一个操作,这个操作在你生成视图后对我来说非常重要,它分为为用户生成视图的部分和处理某些信息的部分,但与视图无关。我不想使用延迟,因为处理它需要对数据库进行2-3个查询。你使用after_filter之后这个动作会不会带来想要的效果,缩短了用户最终渲染视图的时间?
发布于 2012-01-05 21:14:40
before_、around_和after_过滤器都是在任何视图代码实际呈现给用户之前执行的。因此,在这些回调中发生的任何处理对于用户来说都具有相同的感知时间。如果您提到的这个处理部分需要很长时间,您可能需要考虑在页面加载后使用AJAX请求运行它,使用后台作业(如您所提到的)或优化代码,使其不会花费太长时间。
https://stackoverflow.com/questions/8742943
复制相似问题