<% if I18n.locale == 'es'%> не работает - PullRequest
1 голос
/ 02 августа 2020

В голове. html .erb У меня такой

Language: <%= I18n.locale %>
<% if I18n.locale == 'es' %>This is Spanish
<% else % >This is NOT Spanish
<% end %>

Но вижу

Language: es
This is not Spanish

Как это возможно?!

Пробую использовать <% if I18n.locale = 'es'%>, но сообщение «This is Spani sh» отображается также, если I18n.locale - de, en, et c.

1 Ответ

4 голосов
/ 02 августа 2020

I18n.locale возвращает символ, а не строку. Вам нужно сравнивать с :es, а не с 'es'.

.irb(main):001:0> I18n.locale
=> :en
irb(main):002:0> I18n.locale == 'en'
=> false
irb(main):003:0> I18n.locale == :en
=> true
...