ちょっとはまったのでメモ
概要
Rails6のビューのremote:true
なフォームを受けとったコントローラで、js.erb を呼び出した時、JQuery $('#hoge')
が動作しなかった。
※webpacker配下では正しく動作済み。
発生したJSエラー: Uncaught ReferenceError: $ is not defined
解決方法
app/javascript/packs/application.js内に以下の一行を追記する
app/javascript/packs/application.js
...
require("bootstrap")
require("admin-lte")
window.$ = jQuery; // ここ!
hogehoge.js.erb
$('.modal_area').html('<%= j(render "modal") %>');
$('#modal').modal('show');
config/webpack/environment.js で同じような定義をしてたけど、js.erb ファイル内から使うにはこの記述が必要だった。