加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 如何/何时’after_filter’工作/运行?

发布时间:2020-12-16 20:34:43 所属栏目:百科 来源:网络整理
导读:我正在使用Ruby on Rails 3.1,我想知道(出于性能原因)是否在渲染视图文件之后运行after_filter.也就是说,当用户访问我的应用程序URL时,他/她应该显示的相关视图文件在after_filter运行之前呈现,或者after_filter在渲染视图文件之前运行? 换句话说,应用程序
我正在使用Ruby on Rails 3.1,我想知道(出于性能原因)是否在渲染视图文件之后运行after_filter.也就是说,当用户访问我的应用程序URL时,他/她应该显示的相关视图文件在after_filter运行之前呈现,或者after_filter在渲染视图文件之前运行?

换句话说,应用程序服务器在运行after_filter之前开始向用户发送渲染的视图数据,或者它等待运行after_filter方法,然后才发送该视图数据?

PS:我打开这个问题,因为我想运行一些系统更新(请注意:这些更新不会影响视图的输出数据,并不会对视图“使用”/“必要”),而不影响结束用户体验(例如:缓慢加载我的应用程序网页).

解决方法

您必须注意到对您的服务器的请求是完全一致的,并以其自身的线程运行.

如果将代码放在after_filter中,这将延迟整个请求:总结一下,如果线程还活着,页面不会传递.

这就是为什么你会发现很好的插件,如DelayedJob和Resque,他们工作在一个并行进程,不会影响你的应用程序.

为了回答您的原始问题,在处理视图后会触发after_filter.

这有时是一个麻烦,这就是为什么people created some before_render filters.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读