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