【发布时间】:2015-01-05 02:07:59
【问题描述】:
我发现 Rails 会等到整个视图在服务器上计算完毕后才会启动响应并立即转储所有内容。理想情况下,该页面应在服务器工作时逐步填充。
为了检查这一点,我创建了一个新的 Rails (4.1) 项目,生成了一个虚拟资源,并在其视图模板中间添加了 。结果是 nothing 输出了 10 秒 - Chrome 的网络面板仅显示等待接收到的零字节。也许是因为它是在开发模式下运行的 WEBrick,但我在 Unicorn 上看到了类似的东西(在开发和生产中)。
所以我的问题是如何确保在 Rails 中逐步刷新内容。理想情况下它应该自动发生(this post implies that's the intention 回到 Rails 3.1 中),但在这个简单的例子中,没有 _content_for_)但如果有必要,我愿意添加一些 flush() 调用或其他任何东西。
【问题讨论】:
-
是this 你在找什么? (使用
render stream: true) -
是的,就是这样。我之前假设流媒体只是用于长时间运行的响应(即
live)。您能否将其添加为答案,我会接受。
标签: ruby-on-rails performance templates flush ruby-on-rails-4.1