如何在视图中使用self.response_body

时间:2011-08-13 14:04:37

标签: ruby-on-rails-3

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

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服务器

干杯

麦克

1 个答案:

答案 0 :(得分:0)

如果在控制器中设置response_body,它将不会呈现视图。所以我担心你必须挑选一个或另一个。事实上,当我尝试通过两种不同的方法向客户端发送响应时,我收到了一个例外。在我的例子中,它是send_data和self.response_body = ...