This helper has finally been moved into a gem called nav_lynx!
https://github.com/vigetlabs/nav_lynx
http://rubygems.org/gems/nav_lynx
Thanks to @brianjlandau and @reagent for getting that set up and tested!
The nav_link helper works just like the standard Rails link_to helper, but adds a 'selected' class to your link (or its wrapper) if certain criteria are met. By default, if the link's destination url is the same url as the url of the current page, a default class of 'selected' is added to the link.
<%= nav_link 'My Page', my_path %>
When my_path
is the same as the current page url, this outputs:
<a class="selected" href="http://example.com/page">My Page</a>
For more options and full usage details, see: http://viget.com/extend/rails-selected-nav-link-helper
Drop nav_link_helper.rb into app/helpers in your Rails 3.x app and enjoy.
Same usage as link_to
:
<%= nav_link 'http://example.com/page' do %>
<strong>My Page</strong>
<% end %>
Yeah, that was actually where I started when first looking into this issue, and is definitely good to note. The main problem with that is just doesn't output the
<a>
tag by default, but just the text inside it if the page is 'selected'. That tends to visually break things when css styling relies on that element's presence. You can specify specific markup to output instead, but it gets a little messy.