0

I have a dropdown that that would be active when page is on using the current_page? method like so:

<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>

As you may noticed, the current_page gets really long and messy. How could I convert this to a helper?

Jan
  • 33
  • 1
  • 5

1 Answers1

1
%w[A B C D].any?{|c| current_page?(send("company_drop#{c}_path", @company))}
sawa
  • 165,429
  • 45
  • 277
  • 381