/ / Wie verhindere ich, dass bootstrap-sass gem Bootstrap js zweimal lädt? - Rubin auf Schienen, twitter-Bootstrap, Rubin auf Schienen-4

Wie verhindere ich, dass bootstrap-sass gem zweimal Bootstrap js lädt? - Ruby-on-Rails, Twitter-Bootstrap, Ruby-on-Rails-4

Das ist mein Gemfile:

gem "bootstrap-sass", "~> 3.2.0.0"

Das ist mein application.js:

//= require bootstrap
//= require bootstrap-sprockets
//= require bootstrap.file-input

Meine bootstrap_and_overrides.css.scss sieht aus wie das:

@import "bootstrap-sprockets";
@import "bootstrap";

Wenn ich den Quellcode meiner Seite sehe, sehe ich Folgendes:

<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>

Die offizielle Dokumentation sagt folgendes aus:

Plugins can be included individually (using Bootstrap"s individual *.js files), or all at once (using bootstrap.js or the minified bootstrap.min.js).

Was passiert ist, wenn ich die Standardeinstellung verwendeModalcode von der Bootstrap-Site in meiner App, er wird schnell ausgelöst und verschwindet. Nach langem Nachdenken glaube ich, dass Bootstrap zweimal geladen wird. Der reguläre Code Bootstrap.js enthält die für das Modal benötigten Informationen, daher muss ich sie nicht hinzufügen bootstrap/modal.js, aber ich bin nicht sicher, wie ich es entfernen kann.

Gedanken?

Antworten:

2 für die Antwort № 1

Weil Sie es anscheinend zweimal hinzufügen. Das offizielle Dokumente sagen:

Erfordert Bootstrap-Javascripts in app/assets/javascripts/application.js:

//= require jquery
//= require bootstrap-sprockets