0

这似乎很简单,但我无法弄清楚。出于某种原因,单击下拉菜单不起作用,但 twitter bootstrap 中的其他所有内容都是。我在轨道上使用红宝石。我已经看过 stackoverflow 问题,这些问题说只需将整个 ul 包装在一个带有“下拉菜单”类的 div 中,但这不是必需的。我应该能够在 ul 标签内做到这一点。有任何想法吗?谢谢你。

          <li id="fat-menu" class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            Account <b class="caret"></b>
          </a>
          <ul class="dropdown-menu">
            <li><%= link_to "Profile", current_user %></li>
            <li><%=link_to "Settings", '#' %></li>
            <li class="divider"></li>
            <li>
              <%= link_to "Sign out", signout_path, method: "delete" %>
            </li>
          </ul>
        </li>

这是我认为问题所在的主要代码。它可能在下面的某个地方(与上面相同,但取出较少)但我对此表示怀疑:

    <ul class="nav pull-right">
      <li><%= link_to "Home", root_path %></li>
      <li><%= link_to "Help", help_path %></li>
      <% if signed_in? %>
        <li><%= link_to "Users", '#' %></li>
        <li id="fat-menu" class="dropdown">
          <a href="#" class="dropdown-toggle" data-toggle="dropdown">
            Account <b class="caret"></b>
          </a>
          <ul class="dropdown-menu">
            <li><%= link_to "Profile", current_user %></li>
            <li><%=link_to "Settings", '#' %></li>
            <li class="divider"></li>
            <li>
              <%= link_to "Sign out", signout_path, method: "delete" %>
            </li>
          </ul>
        </li>
        <%= "Technically signed in.  should be true.  It is: " + signed_in?.to_s %>

      <% else %>
        <%= "Technically not signed in.  should be false.  It is: " + signed_in?.to_s %>
        <li><%= link_to "Sign in", signin_path %></li>
      <% end %>
    </ul>

这是 application.js 文件

//= require bootstrap
//= require bootstrap-dropdown
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require_tree .
4

2 回答 2

1

我只是有同样的问题。我从 application.js 禁用了 turbolinks。

  1. 从中删除application.js

    //= 需要涡轮链接

  2. 从 Gemfile 中移除 turbolinks gem。

  3. 预编译资产:

    bundle exec rake assets:precompile

  4. 将我的应用程序部署到 Heroku,一切正常。

于 2014-01-13T18:38:56.640 回答
1

我终于弄明白了。Javascript 没有被正确调用。我删除并重新创建了 application.js 文件,它工作正常。

于 2013-09-28T22:43:20.940 回答