Ajouter un "actif" de la classe à tous les liens actifs dans les rails?
En gros, j'ai beaucoup de code qui ressemble à ceci:
link_to t('.profile'), business_path(@business), class: '#{'active' if current_page? business_path(@business)}'
ce qui n'est pas très SÈCHE.
Je me demandais si quelqu'un connait un bon moyen de modifier les link_to helper lui-même pour ajouter automatiquement un "actif" de la classe à tous les liens de la page en cours.
Si cela peut aider, je suis ouvert à l'aide de HAML ou SLIM.
OriginalL'auteur Dylan Karr | 2013-09-05
Vous devez vous connecter pour publier un commentaire.
C'est une bonne affaire pour la rédaction de votre propre helper qui enveloppe le link_to. Dans votre application_helper.rb, vous pouvez écrire une méthode
active_link_to
qui prend les mêmes paramètres que link_to + current_page, et puis juste les appels link_to comme vous le faites ci-dessus.OriginalL'auteur steakchaser
J'ai écrit simple méthode d'assistance à l'aide de construire en vue helper
current_page?
lorsque vous pouvez spécifier personnaliséclass
nom danshtml_options
de hachage.Exemples (lorsque vous êtes sur
root_path
route):active_link_to
en raison de la façon dont les rails'link_to
œuvres.c'est vraiment intelligent. merci.
OriginalL'auteur cintrzyk
C'est un problème résolu, il suffit d'utiliser active_link_to gem. Votre exemple simplifie:
li
) et spécifier d'autres correspondant à des conditions, comme avec la regex. Merci!OriginalL'auteur Grocery
J'ai fait face à la même exigence et voici ma solution.
Créer une méthode de
ApplicationHelper
Et à l'intérieur de votre point de vue:
OriginalL'auteur egyamado
Voici l'aide que j'utilise. - Je ajouter une option "match_text" paramètre pour plus de flexibilité (par exemple, si je veux marquer, comme un lien actif lorsque la demande réelle chemin d'accès est un enfant de la page de destination du lien.)
OriginalL'auteur Damon
Utilisation
link_to_unless_current
et puis de lui donner l'apparence d'un lien actif dans le CSS.OriginalL'auteur Damien