【发布时间】:2012-03-21 09:54:09
【问题描述】:
在 Rails 中,我构建了一种 cronjob,但是一旦在那里呈现视图,我想在处理的任务上像“signoff”一样运行一些代码。
我应该把代码放在哪里,以便它在处理的绝对结束时运行(一旦视图被渲染)
rails 如何处理 html 是否缓冲? (它会在呈现 HTML 时向用户刷新还是在呈现后刷新?)
【问题讨论】:
-
是的,如果您在堆栈底部注入一个中间件,您将获取渲染结果。响应包含
html。 -
如何在控制器中实现它?在
format.html之后(如果它在那里 - 它并不总是出现在所有控制器中) -
此操作是否需要能够阻止渲染,还是管理性的?如果您不需要此代码来阻止视图呈现,您可以在控制器上使用
after_filter... -
您的中间件可能仍会更改 html 输出,因此在控制器中这样做是有风险的。
-
cron 需要最后的 html 输出,它只是一个数字,例如 4000 处理 4000 个项目,一旦完成,它只需要在 db 中签核 4000 个项目已完成,但如果它超时..因此最后这样做的原因(它几乎不会超时,但它是一种安全措施)
标签: html ruby-on-rails ruby