Итак, в моем application.html.erb
моя навигационная структура выглядит примерно так:
<div id="navigation">
<ul class="pills">
<% if current_page?(:controller => 'welcome', :action => 'index') %>
<li><%= link_to "Profile", vanity_path(:vname => current_user.username) %></li>
<li><%= link_to "Settings", settings_path %></li>
<li><%= link_to "Sign Out", signout_path %></li>
<% elsif !current_page?(:controller => 'welcome', :action => 'index') %>
<li><%= link_to "Home", root_path %></li>
<li><%= link_to "Profile", vanity_path(:vname => current_user.username) %></li>
<li><%= link_to "Settings", settings_path %></li>
<li><%= link_to "Sign Out", signout_path %></li>
<% end %>
</ul>
</div>
Тем не менее, я хотел бы, чтобы, находясь на любой странице навигации, он применяет класс active
к соответствующей ссылке.
Так, например, если пользователь находится на mydomain.com/johnbrown
, который является ссылкой Profile
, помощник rails будет выглядеть примерно так:
link_to "Profile", vanity_path(:vname => current_user.username), :class => "active"
.
Но как мне сделать это программным способом, чтобы я не дублировал контент? то есть как мне получить эту функциональность для всех страниц в моей навигации и написать ее как можно более СУХОЙ?
Спасибо.