Muitas respostas já, mas aqui está o que escrevi para fazer os ícones do Bootstrap funcionarem com o link ativo. Espero que ajude alguém
Este ajudante lhe dará:
- elemento li com link contendo texto personalizado
- Ícone Opcional Bootstrap3
- ficará ativo quando você estiver na página certa
Coloque isso em seu application_helper.rb
def nav_link(link_text, link_path, icon='')
class_name = current_page?(link_path) ? 'active' : ''
icon_class = "glyphicon glyphicon-" + icon
content_tag(:li, :class => class_name) do
(class_name == '') ? (link_to content_tag(:span, " "+link_text, class: icon_class), link_path)
: (link_to content_tag(:span, " "+link_text, class: icon_class), '#')
end
end
E use o link:
<%= nav_link 'Home', root_path, 'home' %>
O último argumento é opcional - ele adicionará um ícone ao link. Use nomes de ícones de glifo. Se você quiser um ícone sem texto:
<%= nav_link '', root_path, 'home' %>