Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/52.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
json、rails、javascript中的解析错误_Javascript_Ruby On Rails_Json - Fatal编程技术网

json、rails、javascript中的解析错误

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

我需要在javascript数组中加入一个ruby数组,我得到了一个解析错误

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没有。