rails使用bootstrap的下拉框突然失效

发布于 2022-08-26 17:36:06 字数 2639 浏览 18 评论 0

最近,一直在跟着Ruby On Rails Tutorial上的教程在学习rails,一开始做到布局时用到bootstrap-sass这个gem的时候,眼睛一亮,网页瞬间很亮了。。。可是,在做到第九章的时候「Account」的下拉框就失效了,不知道怎么了。。。这个是部署在heroku的本项目,大神们可以随便注册个,登录之后,右上角显示的「Account」下拉框,无法显示下拉菜单(包括:Profile, Setting, Sign out三个下拉菜单)。。。

这是相关的代码:

file: _header.html.erb
<header class="navbar navbar-fixed-top">
<div class="navbar-inner">
    <div class="container">
        <%= link_to "sample app", root_path, id: "logo" %>
        <nav>
        <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", users_path %></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", edit_user_path(current_user) %></li>
                    <li class="divider"></li>
                    <li>
                    <%= link_to "Sign out", signout_path, method: "delete" %>
                    </li>
                </ul>
                </li>
            <% else %>
            <li><%= link_to "Sign in", signin_path %></li>
        <% end %>
        </ul>
        </nav>
    </div>
</div>
</header>

这是全局的布局:

file: application.html.erb
<!DOCTYPE html>
<html>
<head>
  <title><%= full_title(yield :title) %></title>
  <%= stylesheet_link_tag    "application", :media => "all" %>
  <%= javascript_include_tag "application" %>
  <%= csrf_meta_tags %>
  <%= render 'layouts/shim' %>
</head>
<body>
    <%= render 'layouts/header' %>
    <div class="container">
        <% flash.each do |key,value| %>
            <%= content_tag(:div, value, class: "alert alert-#{key}") %>
        <% end %>
        <%= yield %>
    <%= render 'layouts/footer' %>
    <%= debug params if Rails.env.development? %>
    </div>
</body>
</html>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

往日情怀 2022-09-02 17:36:07

大概是要这样?a和ul要在class="dropdown"的元素内部。

<li id="fat-menu" class="dropdown">
  <a href='#' class="dropdown-toggle" data-toggle="dropdown">Account<b class="caret"></b></a>
  <ul class="dropdown-menu">
我不在是我 2022-09-02 17:36:07

我也遇到了相同的问题
审查元素,如果发现报错:

Uncaught Error: Bootstrap's JavaScript requires jQuery

则可能是bootstrap在引入css前需要引用jQuery,但是这时还没有加载jQuery
你可以参考这个地址,看看能否解决

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文