我需要将 ruby 数组放入 JavaScript 数组中,但遇到解析错误。
var characters = <%= @poop.to_json %>;
这就是我将 ruby 嵌入到内联 javascript 中的方式,但它出现了解析错误。我应该如何将此 ruby 数组放入 JavaScript 中?
我将其嵌入到 .html.erb 文件中,因此 ruby 应该在 javascript 之前获取该变量。
这是 Safari 控制台显示的内容:
更新
我有一个表单,其中分别包含三个字段 js、css 和 html,因此我会将 javascript 放入表单中,然后将其放入 header 中。
<head>
<%= @game.javascript %>
</head>
正如你所看到的,我将 ruby 嵌入到了 javascript 中,这是 ruby 对象的输出,所以 ruby 没有首先到达它的原因是它已经到达它并处理了 <%= %> 只是就像另一个字符串一样。
啊,我投票支持你们所有人的帮助。谢谢!
最佳答案
您将 .js 文件视为 .erb 文件 - 事实并非如此。 JavaScript 文件不会被 Ruby 解析 - public
中的任何内容按原样发送。
获取 @poop
的一种方法进入 JavaScript 的方法是使用 Rails 操作来呈现 json,然后使用 XHR 加载它。
或者,您可以输出 @poop
在 <script>
中的 HTML 模板中标签,然后从 JavaScript 加载该脚本标签的内容。
关于javascript - json、rails、javascript 中的解析错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4485856/