on Rails的jQuery的冲突

问题描述 投票:3回答:1

application.js

//= require rails-ujs
//= require jquery
//= require activestorage
//= require turbolinks
//= require bootstrap-sprockets
//= require flatpickr.min
//= require_tree .

Gemfile

gem 'sass-rails', '~> 5.0'
gem 'uglifier', '>= 1.3.0'
gem 'coffee-rails', '~> 4.2'
gem 'turbolinks', '~> 5'
gem 'bootstrap-sass'
gem 'jquery-rails'

如果我我就离开我的应用程序那样的,我所有的jQuery将正常工作。但我也需要

<head>
  <script src="https://code.jquery.com/jquery-3.3.1.min.js"</script>
</head>

application.html.erb因为我使用的引导4。

所以用这个配置,我遇到很多的问题,与我的jQuery的,像

$(...)。flatpickr不是一个函数

有没有办法来避免这些冲突?我想这是因为我包括我的应用程序的多个jQueries。

如果我删除//= require jquery所有的引导相关jQuery将工作,但我的自定义脚本不会。 如果我删除<script src="https://code.jquery.com/jquery-3.3.1.min.js"</script>我的脚本将工作,但所有引导相关不会(像汉堡包导航栏或同类者)。

jquery ruby-on-rails bootstrap-4 ruby-on-rails-5.1 jquery-rails
1个回答
3
投票

以下是加引导4到您的轨道5应用程序在这里的步骤来rubygems链接和github页面。

第1步:添加引导和jQuery的轨到您的Gemfile(确保链轮护栏至少V2.3.2)

gem 'bootstrap', '~> 4.2.1'
gem 'jquery-rails'

第2步:添加引导的依赖,并引导你的application.js

//= require jquery3
//= require popper
//= require bootstrap

你并不需要指定你的观点,即是// =需要jquery3行功能的jQuery的CDN。并删除你的引导,萨斯依赖这是bootstrap 3

注:重要的发现,你需要需要jQuery的3 // =需要的jQuery 3

© www.soinside.com 2019 - 2024. All rights reserved.