1

특수 문자로 인해 구문 분석하지 않는 유효한 yml 번역 파일이 있다고 생각합니다. 예를 들어 "switchfrench : 'Français'"가 오류와 함께로드되지 않으면 YAML을 1 행 0에서 파싱 할 수 없습니다. yml 파일 "switchfrench : 'Francais'가 올바르게로드됩니다.Rails 3.0.12 번역 파일이 "1 행 0 열의 YAML을 구문 분석하지 못했습니다."라고 구문 분석하지 않습니다.

https://gist.github.com/2415270

이 구문 분석하는 방법에 어떤 아이디어?

+0

File.read을 무엇 ('설정/로케일/응용 프로그램 .fr.yml ') 줄래? 아마도 더 좋았을 것입니다. Rails.root.read ('config/locales/app.fr.yml') –

+0

https://gist.github.com/2415270을 업데이트했습니다. File.read는 파일을 올바르게 읽지 만 Rails.root.read는 "TypeError : 문자열을 정수로 변환 할 수 없습니다"라고 말합니다. –

+0

아, 잠깐, Rails.root.join ('config/locales/app.fr.yml ') .read –

답변

0

좋아, 그래서이 작동합니다

1.9.3p125 :008 > YAML.load("switchfrench: Français\n") 
=> {"switchfrench"=>"Français"} 

당신은 무엇을 다음과 같이 콘솔에서 디스크에 저를 작성 시도하는 경우 :

File.open('config/locales/app.fr.yml', 'w') {|f| f << "switchfrench: Français\n" } 
+0

예, 제대로 작동하고 다시 구문 분석합니다. –

관련 문제