8

dizgisine eşit olup olmadığını kontrol etme Web uygulamasında Spanish veya English düğmesinin görüntülenip görüntülenmeyeceğini belirlemeye çalışıyorum.Geçerli yerel ayarın

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

hep başarısız if koşul ve İspanyol düğmesi her zaman görüntülenir.

rubymine (ayıklama sırasında) denetimi sonucunda bu gösterir:

enter image description here

Peki neden karşılaştırma başarısız oluyor?

cevap

22

Yerel ayarı ararken/karşılaştırırken/ayarlarken, sembol yerine dize kullanmalısınız. Deneyin: i18n için

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

Belgeler

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

hile yaptı Benim durumumda orada http://guides.rubyonrails.org/i18n.html

İlgili konular