1

显然,带有 proc 的 render :text 方法在 rails 3.2 中不再可用以流式传输数据。我按照以下说明进行操作

讨论

并尝试使用迭代器流式传输数据

class Streamer
attr_reader :url,:uri
def initialize(url)
  puts "there"
  @url = url
  @uri = URI.parse url
end
def each
  Net::HTTP.start(uri.host) do |http|
    resp = http.get(uri.path) do |str|
      puts  str
    end
  end
end
end

这会将流式数据打印到控制台,但最终目标是流式传输到客户端,所以我将其更改为

 resp = http.get(uri.path) do |str|
      yield  str
 end

此代码不起作用。该请求只是没有回复任何内容。我在 webrock 上运行。因此,这种方法可能根本不适用于 webrick,或者代码有什么问题。

帮助表示赞赏。问候,菲尔

4

0 回答 0