Rails 3.1로 업그레이드 한 후 개발 로그에 다음과 같은 경고 메시지가 나타납니다.
경고 응답 본문의 내용 길이를 결정할 수 없습니다. 응답의 내용 길이 또는 설정
Response#chunked = true
이것이 무엇을 의미하며 어떻게 제거 할 수 있습니까? 이게 문제가 되나요?
rails s thin
. 타다! 더 이상 경고가 없습니다.
Rails 3.1로 업그레이드 한 후 개발 로그에 다음과 같은 경고 메시지가 나타납니다.
경고 응답 본문의 내용 길이를 결정할 수 없습니다. 응답의 내용 길이 또는 설정
Response#chunked = true
이것이 무엇을 의미하며 어떻게 제거 할 수 있습니까? 이게 문제가 되나요?
rails s thin
. 타다! 더 이상 경고가 없습니다.
답변:
Rails-Core 회원 중 한 사람에게도 같은 질문을했습니다.
https://twitter.com/luislavena/status/108998968859566080
답은
https://twitter.com/tenderlove/status/108999110136303617
그래, 괜찮아 그것을 청소해야하지만 아무것도 아프지 않습니다.
gem 'thin'
gemfile에 추가 하고을 사용하여 서버를 시작하십시오 rails server thin
). (oops, @Scott Lowe가 이미 위에서 말한 것을 알았습니다.)
다음 패치 는 필자의 경우 문제 를 해결했습니다 . 더 이상 경고하지 않습니다.
위의 링크에 표시된대로 205 행에서 httpresponse.rb 파일을 편집하십시오. 사실이 링크는 향후 루비 릴리스에 대한 수정 사항을 보여줍니다.
RVM을 통해 단일 사용자로 설치된 Ruby 1.9.3-p0에서 레일 3.2.0을 사용하고 있습니다. 내 경우의 위치는 다음과 같습니다.
~/.rvm/rubies/ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpresponse.rb
변경할 파일의 위치는 설치 유형, RVM 여부 또는 다중 사용자 또는 단일 사용자에 따라 달라 지므로 마지막 부분 만 제공합니다.
.../ruby-1.9.3-p0/lib/ruby/1.9.1/webrick/httpresponse.rb
나는 이것이 누군가에게 도움이되기를 바랍니다.
편집 : 이것은 루비 프로젝트의 트렁크 분기에서 문제의 줄을 변경 한 커밋에 대한 링크 입니다.
Gem을 Gemfile에 명시 적으로 추가하면 경고 메시지가 사라졌습니다.
group :development do
gem 'webrick', '~> 1.3.1'
end
기본 Webrick 대신 Thin을 사용할 수도 있습니다. 이것을 추가하십시오Gemfile
gem 'thin'
다음 rails s thin
얇은 사용되며, 경고가 사라집니다.
thin
에서 development
그룹. 4 실행할 때 자동으로 따기 보인다 레일rails s
.rvm을 사용하는 경우이 작업을 수행하여 문제를 해결하십시오.
João Soares가 언급했듯이 , 그에게 모든 크레딧이 있습니다. 개발에 대한이 경고를 없애고 싶지 않다면 할 수있는 일입니다.
선호하는 편집기를 사용하여이 파일을여십시오.
~/.rvm/rubies/<ruby-version>/lib/ruby/1.9.1/webrick/httpresponse.rb
이것을 포함하는 줄로 이동하십시오 (나에게 실제로는 206 줄이었습니다).
if chunked? || @header['content-length']
if chunked? || @header['content-length'] || @status == 304 || @status == 204
파일을 저장하고 레일 서버를 다시 시작하십시오
line 107
나를 위해.
이 문제는 webrick에 대한 커밋 과 함께 Ruby의 트렁크 분기에서 수정되었습니다 .
설정에서이 특정 웹릭 파일을 유사하게 편집 할 수 있습니다. 대략적인 위치는 다음으로 찾을 수 있습니다.
gem which webrick
실제로 파일을 편집하려면
nano \`ruby -e"print %x{gem which webrick}.chomp %Q{.rb\n}"\`/httpresponse.rb
(또는 nano 대신에 좋아하는 편집기를 사용하십시오.)
nano `ruby -e"print %x{gem which webrick}.chomp %Q{.rb\n}"`/httpresponse.rb
..
JRuby 버전 : .rvm을 사용하는 경우이를 해결하려면이 작업을 수행하십시오 ...
João Soares 와 Kjellski가 언급했듯이 개발에 대한 경고를 없애고 JRuby를 사용하는 경우 수행 할 수있는 작업입니다.
선호하는 편집기를 사용하여이 파일을여십시오.
~/.rvm/rubies/jruby-<version>/lib/ruby/<1.8 or 1.9>/webrick/httpresponse.rb
이것을 포함하는 줄로 이동하십시오 (나에게 그것은 205 줄이었습니다).
if chunked? || @header['content-length']
if chunked? || @header['content-length'] || @status == 304 || @status == 204
파일을 저장하고 레일 서버를 다시 시작하십시오.