代码之家  ›  专栏  ›  技术社区  ›  Erik Escobedo

如何在rails中将布局菜单中的链接标记为“active”?

  •  4
  • Erik Escobedo  · 技术社区  · 14 年前

    我的布局/application.html.erb中有一个充满链接的ul,希望当前位置链接被标记为class=“active”。

    现在我使用:

    <%= link_to 'About Us', { :controller => 'aboutus' }, :class => "menu#{' active' if params[:controller] == 'aboutus'}" %>
    

    3 回复  |  直到 14 年前
        1
  •  5
  •   Rishav Rastogi    14 年前

    您可以使用类似于link\u to的helper方法

    它被称为“链接到当前”。

    http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html (请在此处查找详细信息)

    HTH公司

        2
  •  14
  •   Andrew    10 年前

    link_to_unless_current 方法实际上不创建链接,也不添加活动的类。如果你还想这样做,你可以用 current_page

    <ul id="main_nav">
      <li><%= link_to "Search", search_path, :class => ('active' if current_page?(search_path)) %></li>
    </ul>
    

    或者如果要在包装元素上添加类:

    <li class="<%= 'active' if current_page?(search_path) %>">
      <%= link_to "Search", search_path %>
    </li>
    
        3
  •  0
  •   Alexis    10 年前

    <li<%= " class='active'".html_safe if current_page?(root_path) %>>
        <%= link_to "Home", root_path %>
    </li>
    

    当我用bootstrap将类保持为空白时,我遇到了一些问题(如果我记得很清楚的话)