Ruby和Javascript:传递一个Ruby数组作为Javascript变量
Ruby and Javascript: passing a Ruby array as a Javascript variable
我正在尝试动态绘制谷歌地图并在其上放置标记。在我的控制器中,我组装了一个包含企业名称、经度、纬度和z索引的数组。
我有一个Ruby数组,可用于我的Rails视图:
@locations = [["Location One",36.0552,-114.928,1]]
当我试图在某些Javascript中使用该数组时:
var loc = <%= @locations %>
我看到这个在视图源:
var loc = [["Location One",36.0552,-114.928,1]]
为了让映射显示变量,需要这样读:
var loc = [['Location One',36.0552,-114.928,1]]
在数组的第一个元素周围使用完整的引号。如果我将最后一行硬编码到Javascript中,地图就会正确呈现。这似乎真的是";把事情搞砸的标签
在地图上将有多个位置,所以我认为数组的数组将是最好的方式来获得所需的数据到我的视图。
我怎样才能做到这一点?谢谢。
编辑根据DNNX的评论更正。
我认为你需要在渲染前将其转换为json (JavaScript的一个子集):
require "json"
...
var loc = <%= @locations.to_json.html_safe %>
你需要使用html_safe来防止转义引号
相关文章:
- 为什么不't我的ruby代码与javascript文件一起插入
- Ruby on Rails javascript getting truncated
- 带有ruby代码和javascript的链接
- Rails:试图在javascript(Google Charts API)中嵌入一个adv-ruby(each+迭代器
- ruby到javascript,可能吗?怎样
- Javascript是否可以在VPS/远程服务器上执行Ruby脚本
- 从Haml调用外部javascript中的ruby数组
- 使用情感API视频(Javascript或Ruby)
- 让Javascript下拉菜单在rails上使用ruby
- Javascript Ruby's类似地图的方法
- 页面对象设计:有没有相当于Ruby gem的Javascript;site_prism”;
- 相当于Ruby中的pull和uniq的Javascript
- 将javascript变量分配给ruby变量
- 用JavaScript编写嵌入式ruby
- 如何使用 Ruby 在 Javascript (js.erb) 中设置 url
- geolocation with javascript and ruby on rails
- Ruby on Rails 4:在 Rails Web 应用程序中添加 Javascript 文件时遇到问题
- Window.onload 未被调用 [Ruby on Rails] [Vanilla Javascript]
- jQuery不能在javascript ruby标签中工作
- 无法在Javascript Ruby on Rails视图中运行LOOPS