自从升级到Rails 3.1,我在我的开发日志中看到了这条警告消息:
警告无法确定响应体的内容长度。设置响应的content-length或设置response #chunked = true
这是什么意思,我如何删除它?有问题吗?
自从升级到Rails 3.1,我在我的开发日志中看到了这条警告消息:
警告无法确定响应体的内容长度。设置响应的content-length或设置response #chunked = true
这是什么意思,我如何删除它?有问题吗?
当前回答
只是显式地将Gem添加到Gemfile中,为我摆脱了警告消息:
group :development do
gem 'webrick', '~> 1.3.1'
end
其他回答
只是显式地将Gem添加到Gemfile中,为我摆脱了警告消息:
group :development do
gem 'webrick', '~> 1.3.1'
end
你也可以使用Thin代替默认的Webrick。 将此添加到Gemfile 宝石“薄”
然后rails thin将使用thin,警告将消失。
Add
config.middleware.use Rack::ContentLength
到你的应用程序。Rb文件,警告将消失,即使与webrick。当呈现json或文本响应时,这也将在生产中正确设置Content-Length。
我向Rails-Core的一名成员提出了同样的问题:
https://twitter.com/luislavena/status/108998968859566080
答案是:
https://twitter.com/tenderlove/status/108999110136303617
是的,很好。需要清理,但没有人受伤。
如果您正在使用.rvm,请执行此操作来修复它…
正如João Soares所提到的,如果你不想摆脱这个开发警告,这就是你可以做的。
使用您最喜欢的编辑器打开该文件: ~ / .rvm /红宝石/ < ruby版本> / lib / ruby 1.9.1 / webrick / httpresponse.rb 转到包含这个的行(对我来说是第206行): 如果分块?内容长度| | @header [' '] 改变它,从这个补丁,这样: 如果分块?|| @header['content-length'] || @status == 304 || @status == 204 保存文件并最终重新启动rails服务器