Forum: Ruby on Rails Navigation

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
jpfeifer (Guest)
on 2005-12-07 09:20
(Received via mailing list)

I appreciate the help from here as I seem to be asking the noob
questions a lot, but what is a good way to deal with navigation pulled
from a database?

I have this in my view:

<% @nav_buttons.each do |nav_button| %>
        <li><a href="#" class="nav"><%=h %></a></li>
<% end %>

this in my controller

def index
    def shownav
        @nav_buttons = NavButton.find(:all)

and I want to make it so that one of the class="nav" list items has an
id="active" decided by a default variable for the homepage, which I will
assign a value to as another section is clicked.  I realize this is
probably pretty micky mouse for most on this list, but I promise once I
am up to speed on rails a bit more I'll help the new guys around here


atomgiant (Guest)
on 2005-12-07 19:28
(Received via mailing list)
Hi Jason,

I'll give this a shot:

Let's say you store the active button name in a variable called

In your view, you could just add this into the href link:

  <%= 'id = "active"' if == @active_button_name %>

So, this would change your view code to:

<% @nav_buttons.each do |nav_button| %>
  <li><a href="#" class="nav" <%= 'id = "active"' if
== @active_button_name %>><%=h %></a></li>
<% end %>

Sean C. (Guest)
on 2009-06-04 17:45
(Received via mailing list)

Try adding slashes on the ends of your URLs; and yes, <r:navigation> has
pretty primitive matching of URLs.

Rafael Souza (Guest)
on 2009-06-04 18:26
(Received via mailing list)
I fixed it modifying the core radiant.
There is a simple way to contribute?
Jim G. (Guest)
on 2009-06-04 18:32
(Received via mailing list)
Fork. Branch. Spec. Code. Pull Request.
Sean C. (Guest)
on 2009-06-04 18:38
(Received via mailing list)
Someone should put that on a sign or t-shirt!

This topic is locked and can not be replied to.