Help with link_to and its kin


#1

Hi Everyone

I am a new user of Ruby and Rails, and would like some help with the
following problem.

I have created a navbar with a styled unordered list and I would like
to apply class=“current” to the tab for the current page.

Currently I am using a large, cumbersome and ugly if…then block,
rendering the class=“current” into the html and link_tos with
current_page?.

I am absolutely sure this is a fairly common task for many rails
developers, so common and easy in fact, that noone even bothers
mentioning it on the web (a quick reference to the fact that I have
unsuccessfully googled already).

Help will be rewarded with chunky bacon.
P&P Not included

Thanks
Marc


#2

On 17 Dec 2008, at 17:58, removed_email_address@domain.invalid wrote:

rendering the class=“current” into the html and link_tos with
current_page?.

I would write a small helper, something like

def magic_link_to(name, options={}, html_options={})
if current_page?(options)
html_options = html_options.merge(:class => ‘current’)
end
link_to name, options, html_options
end

Then just use magic_link_to instead of link_to

Fred


#3

On Dec 17, 9:20 pm, Frederick C. removed_email_address@domain.invalid
wrote:

to apply class=“current” to the tab for the current page.
end
link_to name, options, html_options
end

Then just use magic_link_to instead of link_to

Fred

Thanks for that Fred

Added the magic and its working embarrasingly well. I think I was
stuck in the cycle of coming up with increasingly complex solutions to
a simple problem, perhaps its time for some coffee.

Thanks again
Marc