how to style currently active link

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
    [hsh[:controller], hsh[:action]] == [controller.controller_name,
controller.action_name] ? 'active' : ''

Then in the views I can say something like

<%= link_to "John", person_path(1), :class => 'style1 style2 ' +
class_for_link(person_path(1)) %>

Thank you both for your responses.

Ive gone with Juans as it does what i need is shorter code. The only one
problem is that it results in the selected link still being selectABLE
ie. it can still be clicked on even though its the current page in view.
I can style it so that it looks like it isnt clickable so top banana!

if there is a way to fix this minor side issue id love to know.

many thanks

In this video you'll see the behaviour you're looking for... (min 33)

Adam Akhtar escribió: