如何使用自我.视图中的Response_body



我想实时地将大量文本从控制器流式传输到视图,并指出使用以下代码作为如何处理流式传输的示例

def home
   self.response_body = proc {|resp, out|
    10.times do |x|
        out.write "count = #{x}"
        sleep 1
    end
}

现在,这段代码在浏览器的内容流中工作,每秒出现一行,但是它不使用我创建的home.html.erb视图,而是只呈现一个带有流数据的空白页面

我试过用各种各样的动词代码来嵌入它,但不能让它工作,我在网上找了一遍,看不到任何线索,如何做到这一点

有人能帮忙吗?

我使用Rails 3.0.7和ruby 1.9.2,在开发中我使用unicorn作为Rails服务器来处理流

欢呼迈克

如果你在控制器中设置了response_body,它将不会呈现视图。所以恐怕你只能选其一。事实上,当我试图通过两个不同的方法向客户机发送响应时,我收到了一个异常。在我的例子中是send_data和self。

最新更新