2013-03-26 60 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' }" %>