2016-09-23 10 views
0

サブメニューのアクティブなメニュー項目に下線を引く必要がありました。私は自分のメニューで次のものを使うことができることを発見しました。各項目と対応するヘルパー用)Rails - コントローラ/アクションへのリンクに対してクラスが機能しない

<li><%= link_to "* RFQ", rfq_path(1), class: get_rfqs_class() %></li>

def get_rfqs_class 
    if controller_name == 'rfqs' 
     return 'active' 
    end 
    end 

のヘルパーアイテムを持って、私は(get_xxx_classを持っている:私はクラスを適用していることを行うことができます。

それは素晴らしいです。しかし、私は別のメニュー項目

<li> <%= link_to "Pre Production Meeting", controller: 
'pre_production_meetings', action: 'show', id: 1 , 
op_id: $current_opportunity, class: get_pre_production_meetings_class() %> </li> 

問題は下線で異なるのlink_to形式の結果が表示されないということであるために少し異なるのlink_toを行うために必要な。私が調べない場合は、アクティブとしてクラスを示していますが、私はdivを使用してみましたし、次のコードをまたがるが、運がなかった下線

<a href="/pre_production_meetings/1?class=active">Pre Production Meeting</a> 

表示されません。

<% if controller_name == 'pre_production_meetings' then %> 
       <li> <%= link_to "Pre Production Meeting", controller: 'pre_production_meetings', action: 'show', id: 1 , op_id: $current_opportunity, class: get_pre_production_meetings_class() %> </li> 
      <% else %> 
       <li> <%= link_to "Pre Production Meeting", controller: 'pre_production_meetings', action: 'show', id: 1 , op_id: $current_opportunity %></li> 

      <% end %> 

コントローラ/アクションへのlink_toを使用して、クラスが正しく適用されないようにする方法がありますか?

また、私はプリプロダクションの会議のスタイルを検査した場合

ul.art-hmenu>li>a.active { 
    padding: 0 12px; 
    margin: 0 auto; 
    color: #145366; 
    text-decoration: underline; 
} 

を期待通りに働いていたメニュー項目のスタイルを検査し、私はa.activeを参照してくださいが、a.hover

が表示されません

テキストの装飾を下線に変更すると、下線が予想どおりに表示されます。

link_to(body, url_options = {}, html_options = {}) 

あなたがリンクは次のようになりますので、中括弧であなたのURLオプションを囲む必要があります:

<a href="/pre_production_meetings/1" class="active"> 

あなたのクラスはに埋め込まれているのlink_toのインスタンスは、このフォーマットを使用していることを

答えて

1

URLではなく、HTML。

これはあなたの問題を解決する必要があります。

<%= link_to "Pre Production Meeting", 
      {controller: 'pre_production_meetings', action: 'show', id: 1 , 
       op_id: @current_opportunity}, 
      class: get_pre_production_meetings_class() %> 

また、$はおそらくタイプミスです。私はそれが@と仮定しています。

+0

素晴らしい - 今は完璧に動作します。 –

関連する問題