개발 모드의 레일즈 응용 프로그램은 내부 서버 오류를 발생시키고 흔히 볼 수있는 오류 페이지가 아닙니다. log/development.log
에 정보가 없습니다. 어떤 서버에 상관없이. 모든 요청에.개발 모드에서 내부 서버 오류 (500), 레일에 디버그 페이지 또는 로그 출력 없음 : utf-8
무엇이 잘못 되었나요?
개발 모드의 레일즈 응용 프로그램은 내부 서버 오류를 발생시키고 흔히 볼 수있는 오류 페이지가 아닙니다. log/development.log
에 정보가 없습니다. 어떤 서버에 상관없이. 모든 요청에.개발 모드에서 내부 서버 오류 (500), 레일에 디버그 페이지 또는 로그 출력 없음 : utf-8
무엇이 잘못 되었나요?
ruby 1.9에서 잘못된 문자 코딩으로 인해 구문 오류가 발생합니다. 루비 (와 레일)가 기본적으로 소스 파일에서 ASCII를 기대할 때 utf-8을 사용했을 가능성이 큽니다. (예, 그렇죠?)
솔루션은 BOM http://www.w3.org/International/questions/qa-byte-order-mark을 사용하거나 UTF-8 파일의 상단에
# encoding: UTF-8
또는
# coding: UTF-8
을 넣어하는 것입니다.
퍼팅에 당신이 차례로 해당되는
Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
에 해당되는 귀하의 config/application.rb
에
config.encoding = "utf-8"
를 넣을 수 있습니다, 전 세계적으로 UTF-8
을 설정하려면
# encoding: UTF-8
또는 모든 파일의 맨 위에있는 BOM.
이렇게하면 레일즈 응용 프로그램의 모든 파일에서 utf-8이 전역 적으로 허용됩니다. 모든 루비 파일에 대한 글로벌 옵션을 원하는 경우
, 당신은 -E
또는 -K
루비 옵션을 사용할 수 있으며처럼 RUBYOPT
환경 변수를 통해 설정 :
export RUBYOPT=-Ku
또는
export RUBYOPT='-E utf-8:utf-8'
http://www.manpagez.com/man/1/ruby/ 참조 http://zargony.com/2009/07/24/ruby-1-9-and-file-encodings
도 있습니다. at에서는 레일스 프로젝트에서 필요한 모든 파일 위에 마술 주석을 설정합니다. h ttps://github.com/m-ryan/magic_encoding
서버의 오류 로그를보십시오. 그것이 500이라면 루비가 참여할 기회조차 없기 전에 상황을 죽일 수 있습니다. –