###Uncaught TypeError: $(...).modal is not a function
haml
1【destroy.js.haml】 2 3$("#Modal1").modal('show');
console
1Uncaught TypeError: $(...).modal is not a function
functionが見つからないとエラーが出てしまいます。
###CDNで読み込んでみる
haml
1【application.html.haml】 2 3%script{crossorigin: "anonymous", integrity: "sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo", src: "https://code.jquery.com/jquery-3.3.1.slim.min.js"} 4%script{crossorigin: "anonymous", integrity: "sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1", src: "https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"} 5%script{crossorigin: "anonymous", integrity: "sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM", src: "https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"}
正常に動作します。
Webpackerで読み込みたい
application.html.hamlで定義したCDNは一旦コメントアウトしてwebpackを通して読み込めるようにbootstrapの設定を行います。
haml
1【application.html.haml】 2 3= javascript_pack_tag 'application' 4= stylesheet_pack_tag 'application'
javascript
1【app/javascript/packs/application.js】 2 3require("@rails/ujs").start() 4require("turbolinks").start() 5require("@rails/activestorage").start() 6require("channels") 7require("jquery") 8import 'bootstrap' 9import '../src/application.scss'
javascript
1【/config/webpack/environment.js】 2 3const { environment } = require('@rails/webpacker') 4const { VueLoaderPlugin } = require('vue-loader') 5const vue = require('./loaders/vue') 6// jQueryとBootstapのJSを使えるように 7const webpack = require('webpack') 8environment.plugins.prepend( 9 'Provide', 10 new webpack.ProvidePlugin({ 11 $: 'jquery/src/jquery', 12 jQuery: 'jquery/src/jquery', 13 Popper: ['popper.js', 'default'] 14 }) 15) 16environment.plugins.prepend('VueLoaderPlugin', new VueLoaderPlugin()) 17environment.loaders.prepend('vue', vue) 18module.exports = environment
css
1【app/javascript/src/application.scss】 2 3@import '~bootstrap/scss/bootstrap';
yarn add jquery bootstrap popper.jsでBootstrapとpopper.jsとjqueryはインストールしてあります。
設定がおかしい部分などございましたらご教示ただけますと幸いです。
Ruby 2.7.1
Rails 6.0.3.2
dockerコンテナ(nginx mysql rails)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。