Выбор вкладки Rails - PullRequest
       1

Выбор вкладки Rails

1 голос
/ 24 февраля 2011

У меня есть интерфейс в виде вкладок для взаимодействия с моим сайтом с использованием следующего HTML

<li class="current_page_item"><a href="/home" class="first">Home</a></li>
<li><a href="/projects">Projects</a></li>
<li><a href="/resume">Resume</a></li>
<li><a href="/contact">Contact</a></li>

Атрибут class="current_page_item изменяет внешний вид вкладки.Каждый URL - это вид, управляемый моим контроллером StaticPages. Как сделать так, чтобы в каждом представлении была выбрана соответствующая вкладка?

Ответы [ 2 ]

5 голосов
/ 24 февраля 2011

current_page?(url) метод может помочь вам.

Создание дополнительного вспомогательного метода.

module ApplicationHelper
  #...
  def tab_item(name, url)
    opts = {}
    opts[:class] = 'current_page_item' if current_page?(url)
    content_tag :li, opts do
      link_to name, url
    end
  end
  #...
end

И используйте это по вашему мнению

<%= tab_item 'Home', root_path %>
<%= tab_item 'Projects', projects_path %>
<%= tab_item 'Resume', resume_path %>
<%= tab_item 'Contact', contact_path %>
1 голос
/ 24 февраля 2011

Добавьте before_filter в вашем контроллере с помощью метода для set_current_tab:

def set_current_tab
  @current_tab = "Projects"
end

Затем вы можете проверить эту переменную в своих представлениях и отобразить вкладку, если @current_tab равно текущемупозиция табуляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...