8

Ich versuche festzustellen, ob die Schaltfläche Spanish oder English in meiner Webanwendung angezeigt werden soll.So überprüfen Sie, ob das aktuelle Gebietsschema einer Zeichenfolge entspricht

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

Der if Zustand immer ausfällt und die spanische Taste wird immer angezeigt.

RubyMine zeigen dies bei der Untersuchung (während des Debuggens):

enter image description here

Warum wird der Vergleich versagt?

Antwort

22

Sie sollten beim Suchen/Vergleichen/Einstellen der Ländereinstellung ein Symbol anstelle einer Zeichenfolge verwenden. Versuchen:

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

Dokumentation für I18n ist es http://guides.rubyonrails.org/i18n.html

1

In meinem Fall

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

der Trick.

Verwandte Themen