2014-03-12 49 views
0

我有一個下拉菜單,當頁面使用current_page時該下拉菜單會處於活動狀態?方法如下所示:將current_page轉換爲動作助手的最佳方式

<ul> 
<li class="dropdown"> 
    <a href="javascript:void(0)" class="dropdown-toggle <%= current_page?(company_dropA_path(@company)) || current_page?(company_dropB_path(@company)) || current_page?(company_dropC_path(@company)) || current_page?(company_dropD_path(@company)) ? 'active' : '' %>" data-toggle="dropdown"><%= @company.name %> <b class="caret"></b></a> 
    <ul class="dropdown-menu"> 
     <li><%= link_to 'Dropdown A', company_dropA_path(@company) %></li> 
     <li><%= link_to 'Dropdown B', company_dropB_path(@company) %></li> 
     <li><%= link_to 'Dropdown C', company_dropC_path(@company) %></li> 
     <li><%= link_to 'Dropdown D', company_dropD_path(@company) %></li> 
    </ul> 
</li> 
</ul> 

你可能注意到了,CURRENT_PAGE變得非常長而凌亂。我怎麼能把這個轉換成幫手?

回答

1
%w[A B C D].any?{|c| current_page?(send("company_drop#{c}_path", @company))} 
相關問題