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 に答える