Javascript中不带引号的Ruby on Rails变量
我使用RubyonRails,我想在我的索引视图上使用Javascript中的Ruby变量 下面是Ruby代码:Javascript中不带引号的Ruby on Rails变量,javascript,ruby-on-rails,ruby,variables,kml,Javascript,Ruby On Rails,Ruby,Variables,Kml,我使用RubyonRails,我想在我的索引视图上使用Javascript中的Ruby变量 下面是Ruby代码: def kml require 'ruby_kml' kml = KMLFile.new folder = KML::Folder.new(:name => 'Melbourne Stations') [ ["Berlin1", 52.520645, 13.409779], ["Berlin2", 52.520645, 13.409779], ["B
def kml
require 'ruby_kml'
kml = KMLFile.new
folder = KML::Folder.new(:name => 'Melbourne Stations')
[
["Berlin1", 52.520645, 13.409779],
["Berlin2", 52.520645, 13.409779],
["Berlin3", 13.409779, 52.520645],
].each do |name, lat, lng|
folder.features << KML::Placemark.new(
:name => name,
:geometry => KML::Point.new(:coordinates => {:lat => lat, :lng => lng})
)
end
kml.objects << folder
@kml = kml.render
return kml
end
def kml
需要“ruby_kml”
kml=KMLFile.new
folder=KML::folder.new(:name=>“墨尔本车站”)
[
[“Berlin1”,52.520645,13.409779],
[“Berlin2”,52.520645,13.409779],
[“Berlin3”,13.409779,52.520645],
].每个do |名称、lat、lng|
folder.features名称,
:geometry=>KML::Point.new(:坐标=>{:lat=>lat,:lng=>lng})
)
结束
kml.objects好的,我自己解决了这个问题…:D我刚刚添加了以下Javascript代码:
var kml = '<%=raw @kml.to_json %>';
kml = kml.replace("\"", "");
var kml='';
kml=kml。替换(“\”,“);
所以我创建了一个Javascript变量,刚刚替换了引号…太简单了-。-你试过了吗?
是的,我试过了。但它不起作用:/try
如果我使用raw,它会使用真正的引号(“)而不是“…但它只在没有”或“的情况下起作用”
var vectorLayer = new ol.layer.Heatmap({
source: new ol.source.Vector({
features: (new ol.format.KML({
extractStyles: false
})).readFeatures('<%= kml.render.to_json %>',{
dataProjection:'EPSG:4326',
featureProjection:'EPSG:3857'
} )
})
});
var kml = '<%=raw @kml.to_json %>';
kml = kml.replace("\"", "");