Powiel możliwe:
Append class if condition is true in Haml (with Rails)Neat sposobem na sprawdzenie, czy warunkowo dodać klasę w haml szablonu
używam szablonu, który pozwala, aby zaznaczyć pozycję listy jako current
(używając class=current
), podświetlając go na pasku nawigacji.
W haml ta wygląda następująco:
%li.current
Menu item A
%li
Menu item B
%li
Menu item C
Mam ten kod w widoku Sinatra i chcesz programowo dodać class=current
, w zależności od parametru do widzenia.
Jak zrobić to w najlepszy możliwy sposób?
Obecnie robię to tak:
- if section == "pages"
%li.current
%a{:href => "#pages"} Pages
- else
%li
%a{:href => "#pages"} Pages
Który czuje się zbyt rozwlekły.
Dzięki @mguymon, właśnie to, czego szukałem –
w jaki sposób można użyć wielu Ifs dla różnych klas dla elementu z hamlem? – v3nt
Najlepiej byłoby, gdyby nie naprzykrzać się wszystkim warunkom, będzie to brzydkie i trudne do odczytania. Zamiast tego zbuduj ciąg nazw klas przed i przekaż go do tagu haml. – mguymon