我创建了index.html.erb文件,其中包含ruby / html代码,文件在wehost服务器上运行,位于localhost ,不使用rails 。
我的Ruby代码中有一个Global JSON变量。它看起来像这样:
@ruby_side_json = [{ :name => 'Will', :age => 23 },{ :name => 'John', :age => 30 }].to_json
我希望将其分配给驻留在脚本
中的javascript变量写不成功:var javascript_side_json = <%= @ruby_side_json %>
我怎样才能做到这一点?
答案 0 :(得分:1)
如果您在脚本标记内使用rails标记,则应使用单引号或双引号引用它。
更改您的代码,如下所示:
var javascript_side_json =&#39;&lt;%= @rails_side_json%&gt;&#39;;
答案 1 :(得分:0)
在您描述的环境中,我能看到其工作的唯一方法是直接在html中创建<script>
标记并在任何javascript需要标记之前将其呈现在顶部。
<head>
<script>
var javascript_side_json = <%= @rails_side_json %>
</script>
</head>
那就是说,它有点丑,但应该有效;如果你没有把它放在JS require标签之前,那么当你试图执行一些需要它的JS时,数据就不会存在。
答案 2 :(得分:0)
假设您没有使用Rails,并且正在使用to_json
实现正确生成JSON。然后尝试这样做:
<script>
var javascript_side_json = <%= @rails_side_json %>;
</script>