如何使用Turbolinks扩展Bootstrap Navbar

时间:2016-01-11 03:44:21

标签: twitter-bootstrap ruby-on-rails-4 turbolinks

在我的Rails 4应用程序中,我正在使用Bootstrap的Navbar。当Navbar折叠时,它在点击时并不总是展开/切换。菜单图标显示,但是当您单击它时,它不会执行任何操作:

The menu icon shows, but when you click on it, it doesn't do anything.

我知道它与Turbolinks有关,因为只有在我点击链接后手动输入视图的网址时才会发生这种情况。此外,当我完全从应用中删除Turbolinks时,它就会消失。

基于这些问题:

我尝试过这些东西,但没有解决这个问题:

  1. 将样式表和javascripts移动到Body
  2. 为所有javascripts和样式表设置`data-turbolinks-track ='false'
  3. 为所有javascripts和样式表设置'data-turbolinks-eval' => false
  4. 使用jquery-turbolinks
  5. 有趣的是,其他Bootstrap元素,例如菜单下拉列表,对我来说没有Turbolinks这个问题。

    我知道我可以删除Turbolinks,但如果可能,我宁愿保留它。有没有办法做到这一点?

    我的观点:

    <nav class="navbar navbar-ct-danger navbar-fixed-top" role="navigation-demo" id="demo-navbar"  data-no-turbolink ="false">
      <div class="container">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navigation-example-2" data-no-turbolink ="false">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="/">
            <%= image_tag " logo.png"%>
          </a>
        </div>
    
        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse" id="navigation-example-2" data-no-turbolink ="false">
          <ul class="nav navbar-nav navbar-right">
              <li>
                <%= link_to "Games", games_path %>
              </li>
              <li>
                <%= link_to "Days", days_path %>
              </li>
           </ul>
        </div><!-- /.navbar-collapse -->
      </div><!-- /.container-->
    </nav>
    

    的Gemfile

    gem 'jquery-rails', '4.0.5'
    gem 'turbolinks', '2.5.3'
    gem 'jquery-turbolinks', '2.1.0'
    

    的application.js

    //= require jquery
    //= require jquery.turbolinks
    //= require jquery_ujs
    //= require bootstrap
    //= require turbolinks
    //= require_tree .
    

0 个答案:

没有答案