Добавить класс для привязки с уже существующим классом li - PullRequest
0 голосов
/ 21 января 2012

Я уже давно пытаюсь это выяснить.У меня есть навигация, где элемент списка получает класс «активный», когда на этой странице.Мне нужно также дать привязку этих элементов списка каждый уникальный класс.Итак, мой код:

Application_helper

def link_to_with_current_class(name, options)
  if current_page?(options)
    content_tag :li, link_to(h(name), options), :class => "current"
  else
    content_tag :li, link_to(h(name), options)
  end   
end

Навигация

<ul id="nav">
      <%= link_to_with_current_class "work", home_path %>
      <%= link_to_with_current_class "about", about_path %>
      <%= link_to_with_current_class "contact", contact_path %>
    </ul> 

Это генерирует

<ul id="nav">
      <li class="current"><a href="/">work</a></li>
      <li><a href="/about">about</a></li>
      <li><a href="/contact">contact</a></li>
    </ul>

Мне нужно его сгенерировать

<ul id="nav">
      <li class="current"><a **class="work"** href="/">work</a></li>
      <li><a **class="about"** href="/about">about</a></li>
      <li><a **class="contact"** href="/contact">contact</a></li>
    </ul>

Я пробовал это много способов, но все, что я пытаюсь, просто ломает его.Любая помощь по этому вопросу будет очень признательна.

1 Ответ

1 голос
/ 21 января 2012

Похоже, это может сработать:

def link_to_with_current_class(name, options)
  if current_page?(options)
    content_tag :li, link_to(h(name), options, :class => name), :class => "current"
  else
    content_tag :li, link_to(h(name), options, :class => name)
  end   
end
...