如何将 rails 数据传递给 javascript?
How can I pass rails data to javascript?
我有一个 Rails 4 应用程序。我想在 google 地图街景视图中显示位置。经度和纬度保存在数据库中,所以只能通过rails访问。
控制器:
@posts.each do |post|
markers << post.marker_single_show
end
Javascript :
function addMarker(latLng, map, icon) {
if (formMarker !== undefined) {
formMarker.setMap(null);
}
formMarker = new google.maps.Marker({
position: latLng,
animation: google.maps.Animation.BOUNCE,
title: "localisation",
icon: icon
});
formMarker.setMap(map);
var latlngbounds = new google.maps.LatLngBounds();
latlngbounds.extend(latLng);
map.fitBounds(latlngbounds);
map.panToBounds(latlngbounds);
}
正如您所注意到的,在使用 addMarker 函数时,我应该提供由 rails 控制器呈现的 latlng 值。
如何将值从 rails 传递到 Javascript?
app/controllers/some_controller.rb
def someMethod
@railsVariable = Model.all or Model.find(id)
end
in its view you can do something like this
<script>
var JavascriptVariable = <%= @railsVariable %>;
</script>
希望这对您有所帮助:)
我有一个 Rails 4 应用程序。我想在 google 地图街景视图中显示位置。经度和纬度保存在数据库中,所以只能通过rails访问。 控制器:
@posts.each do |post|
markers << post.marker_single_show
end
Javascript :
function addMarker(latLng, map, icon) {
if (formMarker !== undefined) {
formMarker.setMap(null);
}
formMarker = new google.maps.Marker({
position: latLng,
animation: google.maps.Animation.BOUNCE,
title: "localisation",
icon: icon
});
formMarker.setMap(map);
var latlngbounds = new google.maps.LatLngBounds();
latlngbounds.extend(latLng);
map.fitBounds(latlngbounds);
map.panToBounds(latlngbounds);
}
正如您所注意到的,在使用 addMarker 函数时,我应该提供由 rails 控制器呈现的 latlng 值。 如何将值从 rails 传递到 Javascript?
app/controllers/some_controller.rb
def someMethod
@railsVariable = Model.all or Model.find(id)
end
in its view you can do something like this
<script>
var JavascriptVariable = <%= @railsVariable %>;
</script>
希望这对您有所帮助:)