2014-11-21 45 views
0

我正在用Leaflet開發一個Rails應用程序。我有型號與字段位置這是類型linestring。我希望能夠點擊地圖,獲取該地點的座標並返回距離它一定距離的管道數量。我無法將座標返回到Ruby。我意識到Ruby在Javascript之前被執行,所以我該怎麼做呢? 這是我.js.erb文件中的函數:如何將javascript變量傳遞給嵌入式ruby?

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); 
    }; 

回答

1

爲了從JavaScript傳遞數據,你必須讓服務器Ajax調用

+0

你能告訴我一個例子?我需要將它返回到某處的json嗎? – ivanacorovic 2014-11-21 04:46:05

+0

你也許可以在這裏找到一些幫助http://stackoverflow.com/questions/7237720/jquery-post-to-rails – TGH 2014-11-21 04:47:06

+0

'函數onMapClick(e){ $ .ajax({url:「/ temps」, 鍵入:「POST」, data:{coordinates:{lat:e.latlon.lat,lon:e.latlon.lon}}, success:function(response){ } }); }; map.on('click',onMapClick);' 我討厭不能在這裏換新行:/對不起。我正在嘗試這個,但是根本無法完成。 – ivanacorovic 2014-11-21 05:45:11

相關問題