前提・実現したいこと
Ruby on Rails 6 (webpack, webpacker)で Toastr を使えるようにしたい
質問では、試しにhtmlに直接記載してますが、最終的には**.js.erbなどでAjaxを利用する場合も含めて使う予定です。
発生している問題・エラーメッセージ
コンソールのエラー表示です。Toastr がうまくロードできません(たぶん)
ReferenceError: toastr is not defined <匿名> http://localhost:3000/users:415
該当のソースコード
index.html.erbの最下部に下記を追加して試してます。JQueryには問題ありませんでした。
html
1<%= link_to '+', new_users_path %> 2 3<h1>JQuery</h1> 4<p id="hoge">JQueryが使えるか確認</p> 5 6<script> 7 $("#hoge").css("color","red"); 8 toastr.info('info型のトーストの表示'); 9</script> 10
試したこと
yarn add jquery yarn add toastr
の後に
./app/javascript/packs/application.js
へ
javascript
1require("jquery") 2require("toastr")
を追加してます
回答に応答する追記
config/webpack/environment.js
を次のように変更
javascript
1const { environment } = require('@rails/webpacker') 2 3const webpack = require('webpack') 4environment.plugins.prepend('Provide', 5 new webpack.ProvidePlugin({ 6 $: 'jquery/src/jquery', 7 jQuery: 'jquery/src/jquery', 8 Popper: ['popper.js', 'default'], 9 Toastr: 'toastr' 10 }) 11 ) 12 13module.exports = environment
./app/javascript/packs/application.js
を次のように追記
javascript
1import toastr from 'toastr'; 2window.toastr = toastr;
補足情報(FW/ツールのバージョンなど)
ruby on rails 6 (on Docker)
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。