1

I have a list of categories called Taxons:

The Rails code is here:

<div id="taxonomies" class="sidebar-item">
<% @taxonomies.each do |taxonomy| %>
  <ul class="navigation-list">

      <% taxonomy.root.children.each do |taxon| %>
        <li<%= ' class="current"' if @taxon and ([@taxon] + @taxon.ancestors).include?(taxon) %>><%= link_to taxon.name, seo_url(taxon) %></li>

            <% if @taxon.nil? %>
            <% else %>

                <% @taxon.children.each do |taxon|%>
                    <li><%= link_to taxon.name, seo_url(taxon) %></li>
                <% end %>

            <% end %>
      <% end %>
    </ul>
<% end %>
</div>

The problem right now is that if I click a specific taxonomy in the view it shows me the children of all the parents. So...

Category 1 Decendent 1 Decendent 2 Category 2 Decendent 1 Decendent 2 Category 3 Decendent 1 Decendent 2

When what I want is: Category 1 Decendent 1 Decendent 2 Category 2 Category 3

The Selected category has css class current appended to it. My thought was some kind of <% if :class => 'current %> Show the LI, else show nothing.

Anyone know if this is possible?

4

2 に答える 2