自从升级到Rails 3.1,我在我的开发日志中看到了这条警告消息:

警告无法确定响应体的内容长度。设置响应的content-length或设置response #chunked = true

这是什么意思,我如何删除它?有问题吗?


当前回答

我向Rails-Core的一名成员提出了同样的问题:

https://twitter.com/luislavena/status/108998968859566080

答案是:

https://twitter.com/tenderlove/status/108999110136303617

是的,很好。需要清理,但没有人受伤。

其他回答

另一个解决办法,删除违规行从webrick。它并没有那么有用:

cd `which ruby`/../../lib/ruby/1.9.1/webrick/ && sed -i '.bak' -e'/logger.warn/d' httpresponse.rb

(你可能需要sudo)

这个问题已经在Ruby的主干分支中通过提交给webrick被修复了。

您可以在设置中类似地编辑这个特定的webrick文件。大致位置可以通过以下方法找到:

gem which webrick

实际编辑文件:

nano \`ruby -e"print %x{gem which webrick}.chomp %Q{.rb\n}"\`/httpresponse.rb

(或者使用您最喜欢的编辑器代替nano。)

我向Rails-Core的一名成员提出了同样的问题:

https://twitter.com/luislavena/status/108998968859566080

答案是:

https://twitter.com/tenderlove/status/108999110136303617

是的,很好。需要清理,但没有人受伤。

你也可以使用Thin代替默认的Webrick。 将此添加到Gemfile 宝石“薄”

然后rails thin将使用thin,警告将消失。

只是显式地将Gem添加到Gemfile中,为我摆脱了警告消息:

group :development do
  gem 'webrick', '~> 1.3.1'
end