2014-12-29 11 views
1

내가 호출 할 때 내 템플릿에서루비 i18n.translate가 갖는 기본 동작으로 => 진정한 인상

t 'to_translate' 

방법은, 실제로이 같은 두 번째 매개 변수를 전달하지 않고 오류를 발생하는 데 싶습니다

t 'to_translate', :raise => true 

내가하는 모든 번역에 많은 타이핑을 저장하지 않아도됩니다. 아니면 이에 대한 해결 방법이 있습니까?

답변 해 주셔서 감사합니다.

답변

2

당신은 I18n documentation 단락 6.2

"에 대한 답을 찾을 수 있습니다 [..] 기본 예외 처리를 쉽게 자동화 된 테스트 동안 실종 번역을 잡을 수 없습니다. 이러한 목적을 위해 다른 예외 핸들러를 지정할 수 있습니다. 지정된 예외 핸들러는 #call 방법과 국제화 모듈의 메소드 나 클래스이어야합니다.이 기본 예외 핸들러에 다른 모든 입력을 전달 만 MissingTranslationData 예외를 재 인상 할

module I18n 
    class JustRaiseExceptionHandler < ExceptionHandler 
    def call(exception, locale, key, options) 
     if exception.is_a?(MissingTranslation) 
     raise exception.to_exception 
     else 
     super 
     end 
    end 
    end 
end 

I18n.exception_handler = I18n::JustRaiseExceptionHandler.new 

"

자세히 알아보기 http://guides.rubyonrails.org/i18n.html#using-different-exception-handlers