这是我的Gemfile:
gem 'bootstrap-sass', '~> 3.2.0.0'
这是我的application.js
:
//= require bootstrap
//= require bootstrap-sprockets
//= require bootstrap.file-input
我的bootstrap_and_overrides.css.scss
看起来像这样:
@import "bootstrap-sprockets";
@import "bootstrap";
当我查看我的页面来源时,我看到了:
<script data-turbolinks-track="true" src="/assets/bootstrap.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/affix.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/alert.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/button.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/carousel.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/collapse.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/dropdown.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/tab.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/transition.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/scrollspy.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/modal.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/tooltip.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap/popover.js?body=1"></script>
<script data-turbolinks-track="true" src="/assets/bootstrap-sprockets.js?body=1"></script>
官方文件说明了这一点:
Plugins can be included individually (using Bootstrap's individual *.js files), or all at once (using bootstrap.js or the minified bootstrap.min.js).
当我在我的应用程序中使用Bootstrap网站的默认模态代码时,会发生什么事情,它会快速启动并消失。经过大量研究后,我相信这是因为Bootstrap被加载了两次。常规Bootstrap.js
包含模式所需的信息,因此我不需要包含bootstrap/modal.js
,但我不确定如何删除它。
思想?
答案 0 :(得分:2)
因为你把它包括了两次,显然。 official docs说:
需要Bootstrap Javascripts
app/assets/javascripts/application.js
://= require jquery //= require bootstrap-sprockets