导航栏下拉需要引导程序和引导程序链接需要在生产中工作
问题描述:
我使用安装的(alpha-v6)在rails 5应用程序中。我的导航栏中有一个下拉菜单,其执行方式与documentation中的示例完全相同。导航栏下拉需要引导程序和引导程序链接需要在生产中工作
但它目前只工作无论是在生产或开发,取决于我要求我的application.js:
工程开发:
//= require jquery
//= require tether
//= require bootstrap-sprockets
//= require jquery_ujs
//= require turbolinks
//= require_tree .
作品制作:
//= require jquery
//= require tether
//= require bootstrap
//= require bootstrap-sprockets
//= require jquery_ujs
//= require turbolinks
//= require_tree .
我知道文档说你不应该同时需要bootstrap
和bootstrap-sprockets
。但到目前为止,我找不到另一种方式使它在生产中工作。
我缺少什么?
答
首先,我强烈建议使用bootstrap-sass
gem,这样您就可以利用引导程序的sass变量,类,mixins等等。在我看来,它也更容易与您的rails应用程序集成,并且如果您想要使用它与以前的引导宝石相同的方式,那么你也可以这样做。我的回答是使用bootstrap-sass
宝石。
根据bootstrap gem documentation,你不应该包括引导程序和引导程序链轮。
根据该文档:
引导链轮提供个人引导Javascript文件(alert.js或dropdown.js,例如),而自举提供了含有所有引导的Javascript级联文件。
所以正确包括引导的JavaScript功能:
//= require jquery
//= require jquery_ujs
//= require bootstrap
//= require turbolinks
//= require_tree
此外,这里假设你正在使用的宝石bootstrap-sass
答
我有它目前通过显式调用下拉菜单功能每次turbolinks工作重新加载页面。
//= require jquery
//= require jquery_ujs
//= require tether
//= require bootstrap
//= require turbolinks
//= require_tree .
$(document).on('turbolinks:load', function() {
$('.dropdown-toggle').dropdown();
})
但我不应该这样做,所以我真的很想有一个真正的问题的答案。
也许值得注意的是:只是使用'''bootstrap'''而不是''bootstrap-sprockets'''在开发中根本不起作用。 – Fabian