svetozar
@svetozar
dudin.tv

Как грамотно оформить выделение текущего пункта меню в навигации сайта?

Существуют ли общепринятые приёмы/гемы оформления подсветки текущего пункта меню?

Что-то у меня некрасиво выходит... Получается фигня:
%ul.side-nav
  - curclass = controller_name=="accounts" ? "sub-active" : ""
  - curclass = "active" if controller_name=="groups" || controller_name=="seasons"
  %li{class: curclass}
    = link_to admin_accounts_path do
      Люди
      - if controller_name=="accounts"
        %i.material-icons label_outline
    %ul
      - subcurclass = "sub-active" if controller_name=="groups"
      %li.child{class: subcurclass}
        = link_to admin_groups_path do
          Группы
          - if controller_name=="groups"
            %i.material-icons label_outline
    %ul
      - subcurclass = controller_name=="seasons" ? 'sub-active' : ''
      %li.child{class: subcurclass}
        = link_to admin_seasons_path do
          Сезоны
          - if controller_name=="seasons"
            %i.material-icons label_outline


Покритикуйте, пожалуйста, и скажите как практичней и красивей!
  • Вопрос задан
  • 162 просмотра
Решения вопроса 1
nbekseitov
@nbekseitov
Ruby developer
Просто создайте хэлпер. Пример:
def nav_link(link_text, link_path)
  class_name = current_page?(link_path) ? 'current' : ''

  content_tag(:li, :class => class_name) do
    link_to link_text, link_path
  end
end

nav_link 'Home', root_path
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы