Ruby on rails ERB:将类添加到url_以满足条件

Ruby on rails ERB:将类添加到url_以满足条件,ruby-on-rails,multilingual,Ruby On Rails,Multilingual,我正在用refinery创建一个有多种语言的页面。 现在我想添加一个语言开关,但不知道如何执行以下操作: <%= link_to 'DE', url_for( :locale => 'de' ), :class => "selected" %> 我可以做到以下几点,但这有点太重复了,尽管它不起作用,甚至很难,我也不知道为什么: I18n.locale == 'de' ? link_to('DE', url_for( :locale => 'de' ), :clas

我正在用refinery创建一个有多种语言的页面。 现在我想添加一个语言开关,但不知道如何执行以下操作:

<%= link_to 'DE', url_for( :locale => 'de' ), :class => "selected" %>
我可以做到以下几点,但这有点太重复了,尽管它不起作用,甚至很难,我也不知道为什么:

I18n.locale == 'de' ? link_to('DE', url_for( :locale => 'de' ), :class => "selected") : link_to('DE', url_for( :locale => 'de' ))
那么我该怎么做呢?

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

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

哈哈,谢谢,你的答案几乎成功了,只需将它转换为字符串,因为I18n.locale返回一个符号。这就是为什么我的解决方案不起作用

<%= link_to 'DE', url_for( :locale => 'de' ), :class => "#{ 'selected' if I18n.locale.to_s == 'de' }" %>
'de'),:class=>“#{'selected'如果I18n.locale.to_s=='de'}”%>
<%= link_to 'DE', url_for( :locale => 'de' ), :class => "#{ 'selected' if I18n.locale.to_s == 'de' }" %>