Ruby on rails 引导式动态主动导航

Ruby on rails 引导式动态主动导航,ruby-on-rails,twitter-bootstrap,navigation,haml,Ruby On Rails,Twitter Bootstrap,Navigation,Haml,我正在使用以下代码进行导航: .row-fluid .span3 .well %ul.nav.nav-tabs.nav-stacked %li.nav-header Menu %li %a{:href => "/cms/1"} page1 %li %a{:href => "/cms/2"} page2

我正在使用以下代码进行导航:

.row-fluid
    .span3
      .well
        %ul.nav.nav-tabs.nav-stacked
          %li.nav-header
            Menu
          %li
            %a{:href => "/cms/1"} page1
          %li
            %a{:href => "/cms/2"} page2
          %li
            %a{:href => "/cms/3"} page3
          %li
            %a{:href => "/cms/4"} page4

如果我将
.active
放在
%li
之后,它会使项目处于活动状态,如何动态执行此操作,以反映当前处于活动状态的页面?我已经安装了所有引导javascript文件。

您可以创建一个如下的帮助函数:

def active_navigation(item, param)
  "class='active'" if params[param] == item
end
%li.nav-header
  Menu
%li{:class => active_navigation(1, :id)}
  %a{:href => "/cms/1"} page1
%li{:class => active_navigation(2, :id)}
  %a{:href => "/cms/2"} page2
%li{:class => active_navigation(3, :id)}
  %a{:href => "/cms/3"} page3
%li{:class => active_navigation(4, :id)}
  %a{:href => "/cms/4"} page4
然后在你看来,你可以这样说:

def active_navigation(item, param)
  "class='active'" if params[param] == item
end
%li.nav-header
  Menu
%li{:class => active_navigation(1, :id)}
  %a{:href => "/cms/1"} page1
%li{:class => active_navigation(2, :id)}
  %a{:href => "/cms/2"} page2
%li{:class => active_navigation(3, :id)}
  %a{:href => "/cms/3"} page3
%li{:class => active_navigation(4, :id)}
  %a{:href => "/cms/4"} page4
我只是不知道/hate
haml
,所以我认为语法不正确。但我认为这是一个很好的例子,你可以尝试调整自己的领域。

看看

在这个问题中,有很多替代方法可以“自动检测”当前页面,因此可以轻松地在相关菜单项上设置活动类