Rubby on Rails의 코드는 동일하지만 환경에 따라 글의 다양한 현상과 대응을 나타냅니다.
개시하다
최근 제목에 부딪히는 현상을 조사해 발생 조건부터 대응까지 비망록으로 남겼기 때문이다.
컨디션
en:
hello: "Hello world."
en2.ymlen:
hello: "Hello another world."
현상.
Ruby on Rails에서 locale 파일의 키를 사용할 때 각 환경에 표시되는 글이 다릅니다.
조사하다.
환경마다 참조하는locale 파일이 다르기 때문에locale 파일의 읽기 순서가 이상하다고 생각합니다.
따라서 Rubbyon Rails를 시작할 때 locale 파일의 읽기 위치를 조사한 결과 config/aplication이 발견되었습니다.rb를 통해 다음 코드를 읽었습니다.
application.rb
module RailsSample
class Application < Rails::Application
# 中略
config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '**', '*.yml')]
end
end
클라우드 개발 환경에서 이 읽기 처리를 시도했습니다 Dir[Rails.root.join('config', 'locales', '**', '*.yml')]
app/config/locales/en2.yml
app/config/locales/en.yml
순으로 읽습니다.다른 한편, 현지 개발 환경에서 같은 처리를 시도했다.
app/config/locales/en.yml
app/config/locales/en2.yml
순으로 읽습니다.따라서 로컬/클라우드 컴퓨팅에서의 개발 환경에서 읽기 처리가 바뀌어 제목 현상이 생겼다.
그렇다면 왜 이 읽기 처리가 달라질까요?
읽기 처리를 조사하고 있을 때 이 문장은 성공했다.
이 보도도 나와 같은 현상을 만났다.
이 문장과 참고 문장에서 원인을 총결하다
이 때문에 로컬/클라우드 개발 환경에서locale 파일의 물리적 입구 순서에 따라 읽기가 달라졌습니다.
대응
말할 것도 없이 열쇠가 중복되는 것은 문제이기 때문에 중복되지 않는 키로 바꾸어 해결할 수 있다.
en.yml
en:
hello: "Hello world."
en2.ymlen:
hello2: "Hello another world."
끝말
읽는 순서가 정해지지 않을 때 왜요?하지만 곰곰이 생각해보면 서류의 집합만 읽고 있기 때문에 순서가 달라도 위화감이 없다.
만약 이 보도가 다른 사람을 도울 수 있다면 매우 좋겠다.
Reference
이 문제에 관하여(Rubby on Rails의 코드는 동일하지만 환경에 따라 글의 다양한 현상과 대응을 나타냅니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/m_yamashii/articles/0360291f6d7050텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)