嵌入式ruby javascript字符串问题

嵌入式ruby javascript字符串问题,javascript,ruby-on-rails,ruby,Javascript,Ruby On Rails,Ruby,我的ruby项目文件夹-assets/javascripts中有一个scripts.js文件,我试图在其中呈现google地图。我无法让javascript理解嵌入的ruby标记之间的代码。我该怎么做?我认为在scripts.js页面顶部声明变量之类的东西会起作用,比如: var map_latitude = <%= @user.lat %>; var map_longitude = <%= @user.lng %>; var地图_纬度=; var map_经度=;

我的ruby项目文件夹-assets/javascripts中有一个scripts.js文件,我试图在其中呈现google地图。我无法让javascript理解嵌入的ruby标记之间的代码。我该怎么做?我认为在scripts.js页面顶部声明变量之类的东西会起作用,比如:

var map_latitude = <%= @user.lat %>;
var map_longitude = <%= @user.lng %>;
var地图_纬度=;
var map_经度=;
这是我的代码(问题在第五行):

var映射;
var标记=[];
函数初始化\u谷歌地图(){
var currentlatlng=新的google.maps.LatLng(,);
var zoom=>9?9:10;
变量myOptions={
缩放:缩放,
中心:currentlatlng,,
mapTypeId:google.maps.mapTypeId.ROADMAP,//路线图,卫星,混合
街景控制:错误
};
map=new google.maps.map(document.getElementById(“map_canvas”),myOptions);
var marker=new google.maps.marker({map:map,position:currentlatlng,icon:{opacity:0}});
地图设置中心(CurrentLatling);
map.setZoom(缩放);
var circle=new google.maps.circle({
地图:地图,
不透明度:0,
冲程重量:2,
笔划不透明度:0.7,
半径:*1000,
});
圆圈.bindTo('中心',标记,'位置');
}
函数show_markers(){
如果(标记)
用于(标记中的i){
标记[i].集合图(map);
}
}
功能添加标记(位置){
marker=新的google.maps.marker({
位置:位置,,
地图:地图
});
标记器。推(标记器);
//标记。设置可见(假);
}
函数初始化_标记(){
position=newgoogle.maps.LatLng(,);
添加_标记(位置);
}
$(函数(){
初始化谷歌地图();
初始化_标记();
显示_标记();
});
我将非常感谢您的帮助,谢谢。

var map_latitude=“”;
var map_latitude = "<%= @user.lat %>";
var map_longitude = "<%= @user.lng %>";
var map_经度=”;
查看生成的javascript,您可能缺少引号

另外,如果它是一个字符串,您可以

var map_latitude = <%= p @user.lat %>;
var map_longitude = <%= p @user.lng %>;
var地图_纬度=;
var map_经度=;

但是以前从未在代码中看到过这一点

在哪里声明这些变量?因为如果我将它们放在scripts.js文件的顶部,我的映射仍然无法识别ruby值。在chrome中,如果我使用console.log(地图纬度),我会返回一个动态纬度值。谢谢。在执行Javascript之前,需要先加载@user变量,正如@MrYoshiji所指出的,文件必须以
结尾。erb
var map_latitude = <%= p @user.lat %>;
var map_longitude = <%= p @user.lng %>;