如何将json数据从控制器传递到javascript

如何将json数据从控制器传递到javascript,javascript,ruby-on-rails,json,google-maps,Javascript,Ruby On Rails,Json,Google Maps,在我的群集表中,有群集坐标列名说明, 我直接以Json格式存储坐标,如下是我的集群表,使用这些坐标我想要绘制多个集群多边形 在谷歌地图上 id | description

在我的群集表中,有群集坐标列名说明, 我直接以Json格式存储坐标,如下是我的集群表,使用这些坐标我想要绘制多个集群多边形 在谷歌地图上

    id |       description                                                                                                                                                                                                
----+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  1 | {"points":[{"lat":14.232437996569354,"lng":76.409912109375},{"lat":13.336175186494927,"lng":77.1185302734375},{"lat":12.961735843534294,"lng":77.596435546875},{"lat":12.511665400971031,"lng":76.904296875}]}


 2   |    {"points":[{"lat":14.232437996569354,"lng":76.409912109375},  {"lat":13.336175186494927,"lng":77.1185302734375},{"lat":12.961735843534294,"lng":77.596435546875},{"lat":12.511665400971031,"lng":76.904296875}]}
我需要画多个多边形 但我正在尝试使用

控制器代码

我在这里面临的问题是如何将@result传递给javascript 在谷歌地图中绘制多个多边形。 若将这个json复制到js中的一个变量中,我就能够绘制集群,但我面临的问题是如何将这个json数据从控制器中的数据库读取传递到rails中的javascript

如果将json硬编码为一个变量,那么我的google map代码将使用javascript,但我需要从数据库获取此json,如何将带有id的json从控制器传递到javascript

var obj=i need json to store here //this how to fetch json from controller to js  
polygons = [];
for(var i = 0; i < obj.length; ++i){
   //do something with obj[i]
   for(var ind in obj[i]) {
        console.log(ind);
          var arr = new google.maps.MVCArray();
        for(var vals in obj[i][ind]){
            console.log(vals, obj[i][ind][vals].lat );
                 arr.push( new google.maps.LatLng( obj[i][ind][vals].lat, obj[i][ind][vals].lng ) );
        }
   }

polygons.push(arr);
}       

    polygons.forEach( function(polyPath) {

        var polygon = new google.maps.Polygon({
            paths: polyPath,
            strokeColor: '#FF0000',
            strokeOpacity: 0.8,
            strokeWeight: 2,
            fillColor: '#FF0000',
            fillOpacity: 0.35,
            map: map
        });
    });
}

google.maps.event.addDomListener(window, 'load', initialize);

我建议使用ajax加载点。然后您可以使用JSON输出来呈现动作。它可以是:

render json: @result
其他解决方案:当您的视图中有googlemaps代码时,您可以将数据库中的json字符串分配给javascript变量:

var json_string = '<%= @results.raw %>';

谢谢你的回复,你能解释一下ajax负载吗?我比较新鲜,我需要一些关于ajax负载的解释来解决这个问题
var json_string = '<%= @results.raw %>';