gpt4 book ai didi

javascript - javascript中嵌入式ruby的语法错误

转载 作者:数据小太阳 更新时间:2023-10-29 08:08:15 24 4
gpt4 key购买 nike

我正在尝试按照此示例在我的 application.js 中嵌入 Ruby 代码 How do I properly put embedded ruby code in to JavaScript?

但是当我放行时:

var formData = <%= @s3_direct_post.fields.to_json.html_safe %>;

我得到“SyntaxError: expected expression, got '<'”

我已经看到关于其他类似问题的建议,可以像这样在 Ruby 代码周围加上引号:

var formData = '<%s3_direct_post.fields.to_json.html_safe %>';

但随后变量变为字符串 <%s3_direct_post.fields.to_json.html_safe %>而不是执行 Ruby 并将结果放入字符串中。

仅供引用,我正在学习教程 (https://devcenter.heroku.com/articles/direct-to-s3-image-uploads-in-rails),所以我可能没有设置正确的东西。

最佳答案

您不能简单地在 javascript 文件中使用 ruby​​ 代码或表达式,您需要先预处理 ruby​​ 代码,然后将该值传递给 javascript 引擎进行处理。 只要确保您的文件具有 js.erb 扩展名,这样您的文件将首先针对 ruby​​ 表达式进行处理,然后针对 js 进行处理。

更多详情可以引用this question

关于javascript - javascript中嵌入式ruby的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28956940/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com