【发布时间】:2011-11-22 04:48:37
【问题描述】:
在 Rails 中将 HTTP 流与 HAML 项目一起使用似乎存在问题。如果我改用 ERB,它会完美运行。显然,this problem 的不止我一个。
将stream 放在控制器顶部或在操作中使用render :stream => true 时不起作用。
我怎样才能让 HAML 和 HTTP 流很好地结合在一起?
更新:我在 gem 的页面上打开了一个问题,here。
【问题讨论】:
-
我想这是因为 HAML 必须先呈现整个页面,然后才能开始将任何内容发送给客户——这将是一个设计问题。我没有将此作为答案发布,因为我不确定,而且我现在没有时间检查。
-
@Romain:感谢您的意见。这也是我的怀疑,HAML 不会将单个文件转换为 ERB,而是实际上等待整个视图被组装然后提供 HTML。或类似的东西。这将是一个重大的交易破坏者,现在 3.1 已经发布并且流媒体可用。
-
您是否尝试查看 HAML 和/或 Rails 是否已经有关于此的错误报告?我想修复 HAML 并非不可能(前提是我们都对错误的假设是正确的)。
-
如果您正在寻找 ERB 的替代方案来进行 http 流式传输,SLIM 模板开箱即用地支持它:rubydoc.info/gems/slim/frames#Streaming
标签: ruby-on-rails-3.1 haml http-streaming