繁体   English   中英

将Ruby JSON变量传递给javascript变量

[英]Pass Ruby JSON variable to javascript variable

我创建了index.html.erb文件,并在其中包含ruby / html代码,并且该文件在localhost的webrick服务器上运行, 而没有使用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 %>var javascript_side_json = <%= @ruby_side_json %>

我该如何实现?

如果在脚本标记内使用rails标记,则应使用单引号或双引号将其引起来。

更改您的代码,如下所示:

var javascript_side_json ='<%= @rails_side_json%>';

在您描述的环境中,我可以看到的唯一方法是直接在html中创建一个<script>标记,然后在任何javascript要求标记之前将其呈现在顶部。

像这样:

<head>
  <script>
    var javascript_side_json = <%= @rails_side_json %>
  </script>
</head>

就是说,这有点丑陋,但它应该可以工作。 如果您不将其放置在JS require标签之前,那么当您尝试执行一些需要它的JS时数据就不会在那里。

假设您未使用Rails,并且to_json实现正确生成了JSON。 然后尝试执行以下操作:

<script>    
  var javascript_side_json = <%= @rails_side_json %>;
</script>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM