json、rails、javascript中的解析错误
我需要在javascript数组中加入一个ruby数组,我得到了一个解析错误json、rails、javascript中的解析错误,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,我需要在javascript数组中加入一个ruby数组,我得到了一个解析错误 var characters = <%= @poop.to_json %>; var字符=; 这就是我将ruby嵌入到内联javascript中的方式,它出现了一个解析错误。我应该如何将这个ruby数组转换成javascript 我将它嵌入到一个.html.erb文件中,这样ruby就应该在javascript之前访问变量 这是safari控制台显示的内容: 更新 我有一个表单,它有三个字段,分别是j
var characters = <%= @poop.to_json %>;
var字符=;
这就是我将ruby嵌入到内联javascript中的方式,它出现了一个解析错误。我应该如何将这个ruby数组转换成javascript
我将它嵌入到一个.html.erb文件中,这样ruby就应该在javascript之前访问变量
这是safari控制台显示的内容:
更新
我有一个表单,它有三个字段,分别是js、css和html,所以我将javascript放在表单中,然后它将把它放在标题中
<head>
<%= @game.javascript %>
</head>
正如你所看到的,我在javascript中嵌入了ruby,这是ruby对象的输出,所以ruby没有首先访问它的原因是它已经访问了它,并像对待另一个字符串一样对待它
啊,我投票支持你们所有人的帮助。谢谢 var characters=”“;
var characters = "<%= @poop.to_json -%>";
var characters=“”;
您将.js文件视为.erb文件—事实并非如此。Ruby不解析JavaScript文件,public
中的任何内容都按原样发送
将@poop
放入JavaScript的一种方法是使用一个呈现json的Rails操作,然后使用XHR加载该操作
或者,您可以在HTML模板中的
标记中输出@poop
,然后从JavaScript中加载该脚本标记的内容。您将.js文件视为.erb文件-事实并非如此。Ruby不解析JavaScript文件,public
中的任何内容都按原样发送
将@poop
放入JavaScript的一种方法是使用一个呈现json的Rails操作,然后使用XHR加载该操作
或者,您可以在HTML模板中的
标记中输出@poop
,然后从JavaScript加载该脚本标记的内容。理想情况下,我们需要更多信息来正确回答,但我想猜一些东西可以帮助您
假设#1:您正在.js文件中使用erb语法(即“”)。Rails不会将这些内容解析为任何有意义的内容
您要做的是在模板或视图中使用内联JS。但是,从其他语言生成Javascript可能很棘手,请谨慎使用 理想情况下,我们需要更多的信息来正确回答,但我会猜一些东西来帮助你 假设#1:您正在.js文件中使用erb语法(即“”)。Rails不会将这些内容解析为任何有意义的内容
您要做的是在模板或视图中使用内联JS。但是,从其他语言生成Javascript可能很棘手,请谨慎使用 将它放在一个单独的Ruby脚本中,并发送相应的内容类型标题。请回答这个问题并进行更多解释:)您能给我们看一个更长的代码示例吗?我现在不明白为什么
我只是觉得我明白了。fme!我有一些定制的东西,所以你们可以等一下,我会发布发生了什么。谢谢大家的帮助。将它放在一个单独的Ruby脚本中,并发送相应的内容类型标题。请回答这个问题并解释更多内容:)您能给我们看一个更长的代码示例吗?我现在不明白为什么我只是觉得我明白了。fme!我有一些定制的东西,所以你们可以等一下,我会发布发生了什么。谢谢大家的帮助。我假设它是一个js.erb文件或内联javascript。我正在将它嵌入到.html中。erb@Sam-这很奇怪-我不明白文本
是如何在未经解析的情况下进入Safari的。我假设它是一个js.erb文件或内联javascript。我正在将它嵌入到.html中。erb@Sam-真奇怪-我不知道了解文本
是如何在未经解析的情况下进入Safari的。我在这里看到了它的工作原理,但可能是haml。用“”试试看@skilldrick,js.erb和内联javascript一样工作良好。至于投票人,请评论!在问题中没有提到最佳实践。js.erb很好,但您仍然必须说明何时使用Ruby-目前这只是JavaScript,您正在分配一个以“#{”开头的字符串-Ruby解释器只有在
中才会解析它。是的,很抱歉我使用了haml,我想它接受了我以前的建议,而erb没有。我在这里看到它工作,但可能是haml。尝试使用“”@skilldrick,js.erb和内联javascript一样工作正常。至于downvoter,请发表评论!问题中没有提到最佳实践。js.erb可以,但您仍然必须说明何时使用Ruby-目前这只是javascript,您正在分配一个以“#{”开头的字符串-Ruby解释器只有在
中才会解析它。是的,很抱歉我使用了haml,我想它接受了我以前的建议,而erb没有。