Rails 3 + JSON +内容长度未发送

时间:2012-02-09 10:08:43

标签: ruby-on-rails json

我正在使用Rails进行WebApp(使用mongrel进行开发,使用nginx进行生产)。 我发送JSOn数据:

respond_to do |format|
  format.json { render :json => { :success => "OK", :items => items } }
end

有效。但是我需要有Content-Length,而不是发送。获取JSON时如何强制在标头中发送Content-Length?是-Rails配置问题,还是服务器配置问题?

有没有办法在Rails中设置它?喜欢:

response ['Content-Length'] = xxx

这是个好主意吗?在我的例子中,我发送了大量的JSON数据(300 Kb)。

1 个答案:

答案 0 :(得分:2)

哪个Rails版本(确切地说)?

试试http://dev.mensfeld.pl/2011/09/rails-3-1-sending-content-length-header-using-middleware-rack-content-length/ 这增加了一个设置C.L.的中间件。自动。

当然你可以手动设置它,但因为那里有方便的中间件......:)

另见http://weblog.rubyonrails.org/2011/4/18/why-http-streaming - 显然它并非一直自动完成,因为对于流媒体响应它没有用。