如何根据用户所在的网址突出显示导航菜单的部分内容?

时间:2012-12-26 05:44:18

标签: html ruby-on-rails url navigation

我的_navigation.html.erb文件夹中有一个名为views/shared/的部分名称:

<ul>
    <li class="active">Home</li>
    <li>About</li>
</ul>

什么是“Rails”方式使这个导航菜单突出显示相应的链接? Rails有办法确定当前的URL吗?我应该使用吗?

3 个答案:

答案 0 :(得分:1)

试试这个,

<ul>
  <li class=<%= "active" if params[:controller] == "home" %>>Home</li>
  <li>About</li>
</ul>

如果您有多个菜单的相同控制器,则可以在条件

中添加“操作”
<ul>
  <li class=<%= "active" if params[:controller] == "home" && params[:action] == "index" %>>Home</li>
  <li class=<%= "active" if params[:controller] == "home" && params[:action] == "about" %>>About</li>
</ul>

答案 1 :(得分:1)

试试这个宝石Active Link To。它自动高举 https://github.com/twg/active_link_to

答案 2 :(得分:1)

基本上您在控制器中定义before_filter,此过滤器会根据action_name设置某个变量,然后您可以使用该值为要激活的链接呈现active 。我回答了类似的问题here