What follows is an extremely simplistic approach to solving this, so build upon it as you wish.
The first thing to do is add the following code to your application_helper.rb file
def section_link(name,options) if options[:action] == @current_action and options[:controller] == @current_controller link_to(name, options, :class => 'on') else link_to(name,options) end end
The above method always expects an :action key to be passed in with the options hash, so if you're one of those people who just pass in the :controller and not the :action so as to default to whatever method you've set it in your routes.rb file, then this won't work for you.
Finally put this in you're application.rb file, as it makes the current executing action and controller name available to the helper.
before_filter :instantiate_controller_and_action_names def instantiate_controller_and_action_names @current_action = action_name @current_controller = controller_name end
In your view use
<%=section_link('Home',:controller => 'articles', :action => 'index')%>
Make sure you have a CSS class called "on" or edit the above code. The following CSS is just an example.
a.on{ border-bottom: solid 2px #000; }