I have four links on a page generated with link_to . I want to style the
currently active link differently than the other 3. I tried passing
:class => “selected” to link_to but it adds this tag to all 4 links, not
just the currently active one.
i don’t see your code, but generally it works like this:
<%= link_to “Link name”, { :controller => ‘controller_name’, :action
=> ‘action_name’ }, :class => ‘someclass’ %>
i don’t see your code, but generally it works like this:
<%= link_to “Link name”, { :controller => ‘controller_name’, :action
=> ‘action_name’ }, :class => ‘someclass’ %>
then you style your “someclass” via css.
Thanks for the reply, but doesnt the above add the class “someclass” to
all four links at the same time? I dont want to do taht, i want to add
something like “selected” to the currently active link and “unselected”
to the other three? If that is so how would you style the currently
selected link differently that the other three?
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.
I have four links on a page generated with link_to . I want to style the
currently active link differently than the other 3. I tried passing
:class => “selected” to link_to but it adds this tag to all 4 links, not
just the currently active one.
anyideas?
(this is for tabbed navigation)
Posted viahttp://www.ruby-forum.com/.
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