【问题标题】:How to pass javascript variable into embeded ruby?如何将 javascript 变量传递给嵌入式 ruby​​?
【发布时间】:2014-11-21 04:42:15
【问题描述】:

我正在使用 Leaflet 开发 Rails 应用程序。我的模型 Pipe 带有 location 字段,类型为 linestring。我希望能够单击地图,获取该点的坐标并返回与其一定距离处的管道数量。我无法将坐标返回给 Ruby。我意识到 Ruby 在 Javascript 之前执行,那么我该怎么做呢? 这是我的 .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);
    };

【问题讨论】:

    标签: javascript ruby-on-rails leaflet


    【解决方案1】:

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

    【讨论】:

    • 你能给我举个例子吗?我需要让它在某个地方返回 .json 吗?
    • 你可以在这里找到一些帮助stackoverflow.com/questions/7237720/jquery-post-to-rails
    • function onMapClick(e) { $.ajax({ url: "/temps", type: "POST", data: {coordinates: {lat: e.latlon.lat, lon: e.latlon.lon}}, success: function(response) { } }); }; map.on('click', onMapClick); 我讨厌不能在这里换行:/对不起。我正在尝试这个,但根本无法让它工作。
    猜你喜欢
    • 1970-01-01
    • 2013-07-05
    • 2019-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-16
    • 1970-01-01
    相关资源
    最近更新 更多