Search code examples
javascriptruby-on-railsrubyruby-on-rails-7

How to use custom JS on a Rails 7 view?


I am trying to add custom JS to my Rails 7 project. I followed the instructions on this StackOverflow answer.

But I'm still not able to use custom JS in my view.

Here is my main.js:

function sayHi() {
    console.log("hi");
}

window.sayHi = sayHi;

Here is my view (index.html.erb):

<div>
  <button type="button" onclick="sayHi()">Click Me!</button>
</div>

When I click the button, in the console it just says:

Uncaught ReferenceError: sayHi is not defined

I'm really not sure how to access the custom JS from my view.

Here is a link to my project I uploaded to DropBox.


Solution

  • You need to expose the function to the global scope.

    window.sayHi = sayHi;