Home > Software engineering >  Bootstrap menu doesn't open up
Bootstrap menu doesn't open up

Time:11-15

I searched for a long time why my bootstrap menu doesn't open.

I have linked JQuery first to make it works but it doesn't seem to change anything. I don't know if I miss one point. My console says nothing about missing JQuery.

Here is my application.html.erb

<!DOCTYPE html>
<html>
  <head>
    <title>Peachux</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
    <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>


    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <link href="https://assets.calendly.com/assets/external/widget.css" rel="stylesheet">
    <script src="https://assets.calendly.com/assets/external/widget.js" type="text/javascript" async></script>
    <script src="https://kit.fontawesome.com/b43f353bd3.js" crossorigin="anonymous"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>

  </head>

  <body>
    <%= render "shared/navbar" %>
    <%= render "shared/flashes" %>
    <%= yield %>
    <%= render "shared/footer" %>
  </body>
</html>

And my application.scss

// Graphical variables
@import "config/fonts";
@import "config/colors";

// External libraries
@import "bootstrap/scss/bootstrap";
@import "font-awesome";

// Your CSS partials
@import "components/index";
@import "components/banner";
@import "components/button";
@import "components/work-card";
@import "components/work-header";
@import "components/profile";
@import "components/form";
@import "components/link";
@import "components/advantages-block";
@import "components/newsletter-block";
@import "components/testimonials";
@import "components/footer";

// Pages partials
@import "pages/home";
@import "pages/index";
@import "pages/works";
@import "pages/about";

Thanks for the support!

CodePudding user response:

You included Bootstrap JS twice and jQuery twice.

Try this:

<!DOCTYPE html>
<html>

  <head>
    <title>Peachux</title>
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <%= csrf_meta_tags %>
    <%= csp_meta_tag %>

    <%= stylesheet_link_tag "application", "data-turbo-track": "reload" %>
    <%= javascript_include_tag "application", "data-turbo-track": "reload", defer: true %>

    <!-- Bootstrap CSS -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA 058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

    <link href="https://assets.calendly.com/assets/external/widget.css" rel="stylesheet">
    <script src="https://assets.calendly.com/assets/external/widget.js" type="text/javascript" async></script>
    <script src="https://kit.fontawesome.com/b43f353bd3.js" crossorigin="anonymous"></script>
    
    <!-- Bootstrap JS -->
    <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/umd/popper.min.js" integrity="sha384-ApNbgh9B Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5 76PVCmYl" crossorigin="anonymous"></script>

  </head>

  <body>
    <%= render "shared/navbar" %>
    <%= render "shared/flashes" %>
    <%= yield %>
    <%= render "shared/footer" %>
  </body>

</html>
  • Related