首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JavaScript方法不在Rails 6+中处理视图

JavaScript方法不在Rails 6+中处理视图
EN

Stack Overflow用户
提问于 2022-06-01 09:54:06
回答 2查看 48关注 0票数 0

我想在JS文件中声明一个方法,并在.html.erb中使用它,如下所示

代码语言:javascript
复制
const getSetHtml = () => {
    console.log("Hello World");
}

.html.erb视图中,如下代码所示

代码语言:javascript
复制
onclick="getSetHtml()"

但它显示了

未定义ReferenceError: getSetHtml未定义

我导入了如下文件

代码语言:javascript
复制
// /app/javascript/application.js
import "@hotwired/turbo-rails";
import "controllers";
import "trix";
import "@rails/actiontext";
import "trix";
import "@rails/actiontext";
import "./bootstrap.bundle.min";
import "./editor"; // this file

注意:其他JS库运行良好,但自定义方法不起作用。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2022-06-01 16:10:19

为什么要用const设置函数?如果它符合您的具体用例,酷!否则,我个人只需要定期地定义它,无论哪种方式,这里都是您想要做的事情的语法。

代码语言:javascript
复制
const getSetHtml = function() {console.log("Hello World")};

当前函数返回函数本身,而不是返回函数的返回值( console.log("Hello“))。

我不能完全确定,但我相信在您的application.js中,您只需像这样导入文件,我将首先尝试另一种方法:import "editor";

我希望这能帮上忙,祝你好运。告诉我是怎么回事!

票数 0
EN

Stack Overflow用户

发布于 2022-06-01 16:16:05

您可以通过将函数添加到global对象来公开它。

代码语言:javascript
复制
global.getSetHtml = () => {
  console.log("Hello World");
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72459835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档