Well the problem is that you need to set class="#{'selected' if SOMETHING}" so the question becomes "what is SOMETHING?".
This might get criticised but here is what I am doing in my current app. I have a helper that looks something like
def class_for_link(uri) hsh = ActionController::Routing::Routes.recognize_path(uri, { :method => :get }) # You might need to gsub out the root of this url first [hsh[:controller], hsh[:action]] == [controller.controller_name, controller.action_name] ? 'active' : '' end
Then in the views I can say something like
<%= link_to "John", person_path(1), :class => 'style1 style2 ' + class_for_link(person_path(1)) %>