2013-03-26 57 views
1

我创建与炼油厂拥有多语言页面url_for。 现在我想添加一个语言切换,不知道该怎么办了followung:ERB:添加类条件

<%= 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')) 

所以,我怎样才能做到这一点?

回答

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

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

0

哈哈,谢谢,你的答案几乎工作,刚刚因为I18n.locale返回一个符号将其转换为一个字符串。这就是为什么我的(uggly)解决方案没有奏效

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