私はthis articleを見て、HAMLの部分で奇妙な動作をしています。 2つの異なるコントローラアクションにアクセスすると、1つのインスタンスが動作し、もう1つのインスタンスは失敗します。ここでは、コードです。 'randomController' をセクションまたはコントローラベースのRails 3.2でのハイライト表示
= link_to_unless_current(t('some.string', :en=>'SomeString'), '/url',{:class=>(controller.controller_name == 'randomController' ? 'current' : 'header-link')})
I出力= controller.controller_name
は、いずれかのビューでは、私が手メインのリスティングページ(すべてのオブジェクトにページが表示されている)では、クラスは適用されませんが、 '表示'ページに移動するとクラスが突然表示されます。コントローラーは両方とも同じです(どちらの場合も同じ文字列が表示されます)。なぜクラスが等しく適用されないのですか?
一般に、コントローラ名を確認するのではなく、現在のコントローラに基づいてリンクをスタイルする方が良いでしょうか? current_page
ヘルパーはコントローラ+アクションの両方を必要とします。つまり、ここでは適切な候補ではありません。
現在のページで実行されているlink_to_unless_currentにブロックを渡すことができます。ちょうど私が欲しかったクラスとのスパンを含めて、それは動作します! – clekstro