現在、RailsアプリにJSを使用しているのですが、JSが実行されずに困っております。
具体的には、現状このようにJSのコードを書いております。
application.js
1// app/javascript/packs/application.js 2 3// This file is automatically compiled by Webpack, along with any other files 4// present in this directory. You're encouraged to place your actual application logic in 5// a relevant structure within app/javascript and only use these pack files to reference 6// that code so it'll be compiled. 7 8require("@rails/ujs").start() 9require("turbolinks").start() 10require("@rails/activestorage").start() 11require("channels") 12 13 14// Uncomment to copy all static images under ../images to the output folder and reference 15// them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>) 16// or the `imagePath` JavaScript helper below. 17// 18// const images = require.context('../images', true) 19// const imagePath = (name) => images(name, true) 20//= require jquery 21//= require jquery_ujs 22 23console.log("hoge"); 24 25document.getElementById("eagle").onclick = function() { 26 console.log("hoge"); 27};
ですが、ブラウザ上には以前記述していたJQueryのコードに対して、エラーを出しています。
($は定義されていないと言っているかと思います)
JQueryは読み込んでいないので、エラーを出すのは当然かと思うのですが、
変更が反映されていないようです。
// ブラウザ上で見えるソース(エラーを出している箇所) // This file is automatically compiled by Webpack, along with any other files // present in this directory. You're encouraged to place your actual application logic in // a relevant structure within app/javascript and only use these pack files to reference // that code so it'll be compiled. require("@rails/ujs").start() require("turbolinks").start() require("@rails/activestorage").start() require("channels") // Uncomment to copy all static images under ../images to the output folder and reference // them with the image_pack_tag helper in views (e.g <%= image_pack_tag 'rails.png' %>) // or the `imagePath` JavaScript helper below. // // const images = require.context('../images', true) // const imagePath = (name) => images(name, true) //= require jquery //= require jquery_ujs console.log("hoge"); $('#eagle').click(function() { console.log('クリックされました!'); })
ブラウザのキャッシュ の削除、railsサーバーの再起動、別のブラウザで表示をしてみましたが、どれも改善しませんでした。
application.js意外では、ajaxにより非同期で画面を更新する機能があり、JS自体は動いております。
railsアプリ内に消すべきキャッシュがあるのでしょうか。