I'm using Ruby on Rails 6 and I'm trying to move custom javascript file to an external file and it's not working. Javascript code is working if I move the code to erb file. Can you help me please ?
This is index.html.erb (app/views/home/index.html.erb)
<h1>Home#index</h1>
<p>Find me in app/views/home/index.html.erb</p>
<i class="fab fa-twitter"></i>
<i class="fas fa-home"> </i>
<button id="target" value="submit">Submit</button>
<script>
// this code is working if i put inside .erb file
/* $( "#target" ).click(function() {alert( "Testing" );}); */
</script>
This is custom.js (app/javascript/packs/custom.js)
console.log("File loaded");
$( "#target" ).click(function() {
alert( "Testing" );
});
This is my application.js (app/javascript/packs/application.js)
require("@rails/ujs").start()
require("turbolinks").start()
require("@rails/activestorage").start()
require("channels")
require('jquery')
require("packs/custom")
This is my environment.js (app/config/webpack/environment.js)
const { environment } = require('@rails/webpacker')
const webpack = require('webpack')
environment.plugins.prepend('Provide',
new webpack.ProvidePlugin({
$: 'jquery/src/jquery',
jQuery: 'jquery/src/jquery'
})
)
module.exports = environment