Fügen Sie ein 'active' - Klasse, alle aktiven links in Schienen?
Grundsätzlich habe ich eine Menge code, der wie folgt aussieht:
link_to t('.profile'), business_path(@business), class: '#{'active' if current_page? business_path(@business)}'
das ist nicht sehr TROCKEN.
Ich Frage mich, ob jemand weiß, eine gute Möglichkeit zum ändern des link_to-helper selbst, um automatisch fügen Sie ein 'active' - Klasse für alle links zu der aktuellen Seite.
Falls es hilft, ich bin offen mit HAML oder SCHLANK.
InformationsquelleAutor Dylan Karr | 2013-09-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist ein gutes Beispiel für das schreiben Ihrer eigenen Helfer, die umschließt die link_to. In Ihrem application_helper.rb schreiben Sie eine Methode
active_link_to
nimmt die gleichen Parameter wie link_to + current_page, und dann nur Anrufe link_to wie Sie tun, über.InformationsquelleAutor steakchaser
Schrieb ich einfache Helfer-Methode mit bauen im view Helfer
current_page?
wenn Sie können benutzerdefinierteclass
Namen inhtml_options
hash.Beispiele (wenn Sie auf
root_path
route):active_link_to
durch wie rails'link_to
funktioniert.das ist wirklich smart. danke.
InformationsquelleAutor cintrzyk
Es ist ein problem gelöst, verwenden Sie einfach active_link_to gem. Dein Beispiel vereinfacht:
li
) und geben Sie die anderen passenden Bedingungen, wie z.B. mit regex. Danke!InformationsquelleAutor Grocery
Stand ich vor derselben Voraussetzung, und hier ist meine Lösung.
Erstellen Sie eine Methode in
ApplicationHelper
Und in Ihrem Blick:
InformationsquelleAutor egyamado
Hier die Helfer, die ich verwende. Ich füge eine optionale "match_text" parameter für zusätzliche Flexibilität (zum Beispiel, wenn ich wollen, markieren Sie einen link als aktiv, wenn Sie den tatsächlichen Pfad der Anforderung ist eine untergeordnete Seite von das Ziel der Verknüpfung.)
InformationsquelleAutor Damon
Verwenden
link_to_unless_current
und dann ihm das Aussehen eines aktiven link in CSS.InformationsquelleAutor Damien