Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/66.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
如何将javascript变量传递到嵌入式ruby中?_Javascript_Ruby On Rails_Leaflet - Fatal编程技术网

如何将javascript变量传递到嵌入式ruby中?

如何将javascript变量传递到嵌入式ruby中?,javascript,ruby-on-rails,leaflet,Javascript,Ruby On Rails,Leaflet,我正在开发一个带有传单的Rails应用程序。我有一个模型管道,带有字段位置,即类型线串。我希望能够在地图上点击,获得该点的坐标,并返回距离它一定距离的管道数量。我不能把坐标还给Ruby。我意识到Ruby是在Javascript之前执行的,那么我该怎么做呢? 这是my.js.erb文件中的函数: function onMapClick(e) { var sql = <%= Pipe.where{st_dwithin((location),ST_GeomFromText("

我正在开发一个带有传单的Rails应用程序。我有一个模型管道,带有字段位置,即类型线串。我希望能够在地图上点击,获得该点的坐标,并返回距离它一定距离的管道数量。我不能把坐标还给Ruby。我意识到Ruby是在Javascript之前执行的,那么我该怎么做呢? 这是my.js.erb文件中的函数:

    function onMapClick(e) {
      var sql = <%= Pipe.where{st_dwithin((location),ST_GeomFromText("POINT(#{e.latlng.lat} #{e.latlon.lon})", 4326), 3000)}.count.to_s %>;
      map.openPopup(sql.toString(), e.latlng);
    };
函数onmaplick(e){
var-sql=;
openPopup(sql.toString(),e.latlng);
};

为了将数据从JavaScript传递到服务器,您必须进行ajax调用

您能给我举个例子吗?我需要让它在某处返回.json吗?你可以在这里找到一些帮助
函数onmaplick(e){$.ajax({url:/temps”,键入:“POST”,数据:{坐标:{lat:e.latlon.lat,lon:e.latlon.lon},成功:函数(响应){};map.on('click',onmaclick)我讨厌不能在这里写新行:/Sorry。我试过了,但根本没法用。