2010-05-09 3 views
0

structure du site:Menu multi-niveaux, liens actifs css highlight. (Ruby on Rails)

/ 
/products 
/products/design 
/products/photo 
/about 

Je veux voir point de menu parent également mis en évidence par CSS, lorsque l'enfant est actif.

(Quand 'design' ou 'photo' est 'produits' actifs devraient être mis en évidence aussi.)

J'utilise cela pour enfant et urls simples:

<li class="<%= current_page?(:action => 'design') %>"> 
    <%= link_to_unless_current 'Design', :design %> 
</li> 

pour « 'vérifier devrait être comme:

<%= current_page?(:action => 'products') || 
current_page?(:action => 'design') %> || 
current_page?(:action => 'photo') %> 

Mais triple || n'est pas juste, et c'est devenu compliqué.

je vis une aide, comme celui-ci:

def current(childs) 
    if current_page?(:action => childs) 
    @container = "active" 
    else 
    @container = "inactive" 
    end 
end 

qui est utilisé par: <%= current(:photo) %>

Alors, comment mettre tous mes 3 contrôles pour 'produits', 'design', « photo 'dans une aide?

et rendre possible d'utiliser quelque chose comme <%= current(:products, :design, :photo) %>

Répondre