10

SpanishWeb アプリケーションにまたは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 は検査時にこれを表示します (デバッグ中):

ここに画像の説明を入力

では、なぜ比較が失敗するのでしょうか。

4

2 に答える 2

28

ロケールを検索/比較/設定するときは、文字列ではなく記号を使用する必要があります。試す:

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

I18n のドキュメントがあります http://guides.rubyonrails.org/i18n.html

于 2013-06-14T05:46:46.630 に答える