2011-03-02 2 views
0

here 레일즈 3에서 로케일 (국제화)에 제안 된 구조는 모델 및 뷰 디렉토리에 사용되는 유사한 파일 분리를 기반으로합니다 (3.4 Locale Files of the Locale Files 페이지).Rails 3 용 로케일 디렉토리 구조

나는이 개 질문이 : 컨트롤러에 사용 된 사항에 대한

1) - 예를 들어, 로케일에서 컨트롤러 디렉토리뿐만 아니라이 있다는 의도는, 리디렉션 중에 "당신의 기록이 성공적으로 추가되었습니다"? 아니면 그냥 루트 로케일 디렉토리의 기본 en.yml 파일을 사용하고 같은이 있어야합니다

en: 
    notices: 
    create_success: "Your record was added successfully." 
    update_success: "Your record was updated successfully." 

모든 통지는 같은 파일에이 방법을.

2) 어떤 방식 으로든 편리함을 생각하면 실제로는 모든 파일을 하나의 파일로 선호하기 때문에 더 쉽고 빠르게 처리 할 수 ​​있고 더 많은 항목을 공유 할 수 있습니다. 유사한 디렉토리 구조로 모델과 뷰를 구분해야 할 몇 가지 이유가 있습니까? - 파일의 성능과 로딩 때문일까?

답변

1

플래시 메시지 용으로 별도의 디렉토리를 갖고있어 합리적인 것으로 판단되면 이동하십시오. 안내서에 나와있는 예제는 예제와 같습니다. 자신에게 맞는 방법으로 구성하십시오.

같은 것을 하나의 파일에 보관합니다. 그것은 똑같이 작동 할 것이고, 관리를 어렵게 할 수 있기 때문에 깨뜨릴 것을 제안하는 유일한 이유가 있습니다. 그러나 그런 식으로하고 싶다면 그렇게하십시오! :) 마음을 바꾼다면 언제든지 나중에 나눌 수 있습니다.

+0

동의하지만 페이지로드 측면에서 성능에 어떤 영향이 있습니까? 즉, 모든 로켈 파일이로드되고 캐시되거나 사용법에 따라 개별 로켈 파일이 생성됩니까? –

+0

기본 I18n 메모리 저장소는 앱 초기화시 모든 파일을로드하므로 페이지로드에 영향을주지 않습니다. 두 가지 옵션간에 성능에 눈에 띄는 차이가 있을지는 모르겠지만 벤치 마크를 실행하지 않았습니다. 걱정이된다면 몇 가지 테스트를 실행하거나 [다른 백엔드]로 전환하십시오 (http://guides.rubyonrails.org/i18n.html#using-different- backends). – idlefingers

+0

우리는 권장 된 디렉토리 구조를 고수하기로 결정했습니다. 모델에 실제로 관련되어 있기 때문에 위 예제 중 일부는 모델 범위 지정을 사용하십시오. 모델과보기에 맞지 않는 다른 모든 것에 대해 "일반적인"범위 지정을 작성하십시오. 당신의 도움을 주셔서 감사합니다. –