javascript - How to use custom JS on a Rails 7 view? - Stack Overflow

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

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.

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.

Share Improve this question edited Dec 11, 2022 at 14:06 Slaknation asked Dec 9, 2022 at 23:29 SlaknationSlaknation 1,9364 gold badges28 silver badges48 bronze badges 1
  • 2 Better solution - just stop writing JS like its 2005 and attach an event handler. You'll thank me later. – max Commented Dec 11, 2022 at 8:39
Add a ment  | 

3 Answers 3

Reset to default 4

So I am going to post this as a plete answer to anyone who wants to add javascript to their Rails 7 project:

  1. Create your custom JS file in app/javascript/custom/main.js (or whatever file name you like):

    function sayHi() {
        console.log("hi");
    }
    
    window.sayHi = sayHi;  // You must have this to expose your functions
    

    (or you can use an event hanlder instead)

  2. Go to config/importmap.rb and add the following:

    pin_all_from "app/javascript/custom", under: "custom"
    
  3. Go to app/javascript/application.js file and add the following:

    import "custom/main"
    
  4. Run In your terminal:

    rails assets:prepile
    
  5. Start your rails server. Voilà

    发布者:admin,转转请注明出处:http://www.yc00.com/questions/1745520661a4631245.html

相关推荐

  • javascript - How to use custom JS on a Rails 7 view? - Stack Overflow

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

    19小时前
    50

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信