Rails 4:在Bootstrap上下文中link_to中断

时间:2015-01-20 18:28:01

标签: html css ruby-on-rails twitter-bootstrap

所以我正在关注Twitter Bootstrap文档,并尝试实现一个简单的下拉列表<a>链接,其中包含我.navbar中引用的一些额外属性(参见http://getbootstrap.com/components/#navbar-default

文档中的行是:

<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Dropdown <span class="caret"></span></a>

我在Rails中翻译为:

 =link_to who_we_are_path, class:'dropdown-toggle', role:'button', 'aria-expanded' =>'false', data:{toggle: 'dropdown'} do
      Who We Are
      %span.caret

生成以下HTML:

<a aria-expanded="false" class="dropdown=toggle" data-toggle="dropdown" href="/who_we_are" role"button">
"Who We Are"
 <span class="caret"></span>
 </a>

看起来完全有效。但是,当我单击DOM中的文本"Who We Are"时,它实际上并没有转到/who_we_are路径,但是当我将鼠标悬停在我在浏览器左下角看到的文本时见0.0.0.0:3000/who_we_are

1 个答案:

答案 0 :(得分:1)

那是因为,下拉列表的作用是加载菜单项,Bootstrap会阻止下拉列表的默认值并显示菜单。您应该在菜单中添加链接,或者必须覆盖Bootstraps默认值。 见http://getbootstrap.com/components/#dropdowns

试试这个

%div.dropdown
  =link_to "#", class:'dropdown-toggle', role:'button', 'aria-expanded' =>'false', data:{toggle: 'dropdown'} do
      Load Menu
      %span.caret
  %ul.dropdown-menu{role:"menu"}
    %li=link_to "Who We Are", who_we_are_path