1

我正在创建一个包含多种语言的炼油厂页面。现在我想添加一个语言切换并且不知道如何执行以下操作:

<%= link_to 'DE', url_for( :locale => 'de' ), :class => "selected" %>

选择的应该只有在

I18n.locale == 'de'

我可以执行以下操作,但这有点重复,尽管它不起作用,即使很难,我也不知道为什么:

I18n.locale == 'de' ? link_to('DE', url_for( :locale => 'de' ), :class => "selected") : link_to('DE', url_for( :locale => 'de' ))

那么我该怎么做呢?

4

2 回答 2

2
<%= link_to 'DE', url_for( :locale => 'de' ), :class => "#{ 'selected' if I18n.locale == 'de' }" %>

当它变得更复杂时,抽象它。

于 2013-03-26T16:12:33.760 回答
0

哈哈,谢谢,您的回答几乎奏效了,只需将其转换为字符串,因为 I18n.locale 返回一个符号。这就是为什么我的(丑陋的)解决方案不起作用的原因

<%= link_to 'DE', url_for( :locale => 'de' ), :class => "#{ 'selected' if I18n.locale.to_s == 'de' }" %>
于 2013-03-26T16:23:54.837 回答