2010-06-07 4 views

Répondre

12

La méthode link_to_unless_current ne crée pas un lien, ni ajouter une classe d'actifs. Si vous souhaitez toujours faire, vous pouvez utiliser la méthode current_page pour vérifier si la page en cours correspond à l'itinéraire que vous avez spécifié:

<ul id="main_nav"> 
    <li><%= link_to "Search", search_path, :class => ('active' if current_page?(search_path)) %></li> 
</ul> 

Ou si vous souhaitez ajouter la classe sur l'élément d'emballage:

<li class="<%= 'active' if current_page?(search_path) %>"> 
    <%= link_to "Search", search_path %> 
</li> 
+0

En fait, dans link_to with: class, l'instruction if n'imprime que l'intégralité de link_to si la condition est vraie, cela n'affecte pas seulement la classe. – Alexis

+1

Oups, vous avez raison. Je vais arranger ça. – Andrew

0

un exemple pour un chemin racine avec une balise li, j'ai essayé de le faire avec un content_tag, mais pas de chance pour le cas le cas d'une manière élégante

<li<%= " class='active'".html_safe if current_page?(root_path) %>> 
    <%= link_to "Home", root_path %> 
</li> 

j'ai quelques questions WHE n je garde la classe en blanc avec bootstrap (si je me souviens bien)

Questions connexes