我有一个带有菜单导航的布局。我正在使用我在网上找到的模板。每个菜单项都有一个 HTML 页面,每个对应页面的 li 项类称为“selected”。它看起来像这样:
<nav>
<ul class="sf-menu" id="nav">
<li class="selected"><%= link_to "home", root_path %></li>
<li><%= link_to "about me", about_path %></li>
<li><%= link_to "my portfolio" %>
<ul style="z-index: 2;">
<li style="z-index: 2;"><%= link_to "portfolio one", portfolio_one_path %></li>
<li style="z-index: 2;"><%= link_to "portfolio two", portfolio_two_path %></li>
<li style="z-index: 2;"><%= link_to "portfolio three", portfolio_three_path %></li>
</ul>
</li>
<li><%= link_to "blog", blog_path %></li>
<li><%= link_to "contact", contact_path %></li>
</ul>
</nav>
所以这是在我的 application.html.erb
文件中。我的问题是如何根据用户点击的链接以编程方式将每个 li 项目的类更改为“已选择”?这可以用 Ruby 完成还是我需要使用 JavaScript?
最佳答案
我认为您需要 current_page?
辅助方法 - http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page-3F
<li class="<%= "selected" if current_page?(root_path) %>"><%= link_to "home", root_path %></li>
...
关于jquery - 如何在 Rails 中更改菜单项的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14656577/