복붙노트

[RUBY-ON-RAILS] 나는 그것을 제거에 무엇을 ". 응답 본문의 내용 길이를 결정할 수 없습니다 WARN"평균 얼마나됩니까?

RUBY-ON-RAILS

나는 그것을 제거에 무엇을 ". 응답 본문의 내용 길이를 결정할 수 없습니다 WARN"평균 얼마나됩니까?

레일 3.1로 업그레이드 이후로 나는 내 개발 로그에이 경고 메시지를보고 있어요 :

이것은 무엇 의미 하는가와 어떻게 그것을 제거 할 수 있습니까? 이게 문제가 되나요?

해결법

  1. ==============================

    1.레일 코어의 멤버 중 하나에 같은 질문을했다 :

    레일 코어의 멤버 중 하나에 같은 질문을했다 :

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

    그 대답 :

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

  2. ==============================

    2.다음 패치는 내 경우에는 문제를 해결; 나를 위해 더 경고 없음.

    다음 패치는 내 경우에는 문제를 해결; 나를 위해 더 경고 없음.

    204_304_keep_alive.patch

    링크 위의 그림과 같이 그냥 라인 (205)에서 파일 httpresponse.rb을 편집; 사실 링크는 루비의 향후 릴리스로 만들어진 보정을 보여줍니다.

    나는 루비에 하나의 사용자로 RVM을 통해 설치 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
    

    나는이 사람에게 도움이 될 수 있기를 바랍니다.

    편집 : 이것은 링크입니다 커밋 그 루비 프로젝트의 트렁크 지점에서 문제의 라인을 변경.

  3. ==============================

    3.다만 명시 적으로 나에게 경고 메시지를 제거당한 Gemfile에 보석을 추가 :

    다만 명시 적으로 나에게 경고 메시지를 제거당한 Gemfile에 보석을 추가 :

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

    4.또한 대신 기본에 WEBrick의 씬을 사용할 수 있습니다. Gemfile이 추가 보석 '얇은'

    또한 대신 기본에 WEBrick의 씬을 사용할 수 있습니다. Gemfile이 추가 보석 '얇은'

    다음 레일의 얇은 얇은 사용되며, 경고가 사라집니다.

  5. ==============================

    5.당신이 .rvm를 사용하는 경우, 그것을 해결하기 위해이 작업을 수행 ...

    당신이 .rvm를 사용하는 경우, 그것을 해결하기 위해이 작업을 수행 ...

    주앙 소아레스, 그에게 모든 크레딧에 의해 언급 한 바와 같이, 이것은 당신이 개발이 경고를 없애 wan't 경우 당신이 할 수있는 것입니다.

  6. ==============================

    6.이 문제에 WEBrick 커밋이 루비의 트렁크 지점에서 수정되었습니다.

    이 문제에 WEBrick 커밋이 루비의 트렁크 지점에서 수정되었습니다.

    당신은 당신의 설정에서 유사하게이 특정에 WEBrick 파일을 편집 할 수 있습니다. 대략적인 위치를 찾을 수 있습니다 :

    gem which webrick
    

    실제로 파일을 편집하려면 :

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

    (또는 대신 나노의 좋아하는 편집기를 사용하십시오.)

  7. ==============================

    7.JRuby를 버전 : 당신이 .rvm를 사용하는 경우, 그것을 해결하기 위해이 작업을 수행 ...

    JRuby를 버전 : 당신이 .rvm를 사용하는 경우, 그것을 해결하기 위해이 작업을 수행 ...

    주앙 소아레스 및 Kjellski에서 언급 한 바와 같이, 이것은 당신이 개발이 경고를 제거하려는 당신이 JRuby를 사용하는 경우 당신이 할 수있는 것입니다.

  8. ==============================

    8.에 WEBrick의 기분을 상하게 라인을 제거하는 또 다른 해결 방법. 그것은 단지 유용한 것이 아니다 :

    에 WEBrick의 기분을 상하게 라인을 제거하는 또 다른 해결 방법. 그것은 단지 유용한 것이 아니다 :

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

    (당신은 sudo를해야 할 수도 있습니다)

  9. ==============================

    9.더하다

    더하다

    config.middleware.use Rack::ContentLength
    

    당신의 application.rb 파일 및 경고도에 WEBrick으로 사라집니다. JSON 또는 텍스트 응답을 렌더링 할 때이 또한 생산에서 제대로 콘텐츠 길이를 설정합니다.

  10. from https://stackoverflow.com/questions/7082364/what-does-warn-could-not-determine-content-length-of-response-body-mean-and-h by cc-by-sa and MIT license