jquery - 如何在 Rails 中更改菜单项的类

标签 jquery ruby ruby-on-rails-3

我有一个带有菜单导航的布局。我正在使用我在网上找到的模板。每个菜单项都有一个 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/

相关文章:

jquery 如果没有从下拉列表中选择

ruby-on-rails-3 - bundle 软件安装问题:缺少mysql.h

javascript - .empty() 在动态创建表时清除 tbody 元素

php - ajax - 访问 url : 中设置的变量

ruby-on-rails - 在 Heroku 上强制执行文件上传大小?

ruby-on-rails - 在 Rails 或一般的 Ruby 中,我如何知道日期时间字符串是否对应于具有 DST 或不具有 DST 的日期时间?

mysql - 更新 JSON 列花费的时间太长

ruby-on-rails - ROR 中 3 路 habtm 的自定义数据库条目

ruby-on-rails - Rails 3 数据类型?

jquery - 使用 jQuery 的预加载器或使用 jQuery 进度条的高级页面加载行为