我有一个rails应用程序,我添加了bootstrap gem
首先我添加了这两个宝石
gem 'bootstrap'
gem 'sprockets-rails', :require => 'sprockets/railtie'
安装了这个包
Using bootstrap 4.0.0.alpha3
Using sprockets 3.6.0
我将application.scss
修改为
// Custom bootstrap variables must be set or import before bootstrap itself.
@import "bootstrap";
然后我就像这样离开了application.js
// This is a manifest file that'll be compiled into application.js, which will include all the files
// listed below.
//
// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts,
// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path.
//
// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the
// compiled file.
//
// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require tether
//= require bootstrap-sprockets
//= require_tree .
//= require_self
最后我的application.html.erb
就是这个
<!DOCTYPE html>
<html>
<head>
<title>Squirm</title>
<%= stylesheet_link_tag "bootstrap" %>
<%= javascript_include_tag "bootstrap" %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= csrf_meta_tags %>
</head>
<body>
<%= render 'partials/navbar' %>
<div class="container">
<%= yield %>
</div>
</body>
</html>
Bootstrap似乎在我们的工作,但似乎没有找到谷歌Chrome控制台
答案 0 :(得分:2)
你需要添加jquery以及正常的jquery捆绑在rails应用程序中,但可能是由于某些原因它不适合你的应用程序
添加 来自
的jquery"env": {
"jasmine": true
}
让我们知道如果这种改变有效。
答案 1 :(得分:2)
在您加载jQuery之前,您正在加载Bootstrap。 Bootstrap的许多组件都需要javascript(轮播,标签等),但是,大多数Bootstrap都可以不使用,这就是为什么Bootstrap CSS会显示在你的页面上。
在jQuery之后加载Bootstrap将解决问题:
<!DOCTYPE html>
<html>
<head>
<title>Squirm</title>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
<%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
<%= stylesheet_link_tag "bootstrap" %>
<%= javascript_include_tag "bootstrap" %>
<%= csrf_meta_tags %>
</head>
<body>
<%= render 'partials/navbar' %>
<div class="container">
<%= yield %>
</div>
</body>
</html>
此外,根据您的代码不是100%确定,但您可能会加载两次bootstrap。看来这一行://= require bootstrap-sprockets
已经加载了Bootstrap。