8

웹 응용 프로그램에 Spanish 또는 English 버튼을 표시할지 여부를 결정하려고합니다.현재 로케일이 문자열과 같은지 확인하는 방법

<% if I18n.locale == 'es' %> 
    <a href="<%= set_english_path %>" class="thin">English</a> 
<% else %> 
    <a href="<%= set_spanish_path %>" class="thin">Spanish</a> 
<% end %> 

항상가 실패 if 상태와 스페인 버튼이 항상 표시됩니다.

RubyMine은 (디버깅시) 검사에이 보여

enter image description here

은 왜 비교가 실패?

답변

22

검색/비교/설정 로캘의 경우 문자열 대신 기호를 사용해야합니다. 시도 : 국제화에 대한

<% if I18n.locale == :es %> 

문서는

if I18n.locale.to_s == 'zh-CN' 
    ... 

가 속임수를 썼는지 내 경우가 http://guides.rubyonrails.org/i18n.html