gpt4 book ai didi

javascript - Ruby on Rails 如何将数据从 Controller 传递到 html 中的 javascript

转载 作者:数据小太阳 更新时间:2023-10-29 08:46:50 25 4
gpt4 key购买 nike

我在 ruby​​ on rails 上做谷歌地图。我正在尝试在 map 上实现动态标记文本。

我找到了一种在 java 脚本中添加标记文本的方法。如何将我的 Controller 数据(从数据库检索的字符串数据)传递给 java?我搜索了其他帖子,但无法理解他们的答案。

html中的javascript是

 <script type="text/javascript" src="http://maps.googleapis.com/maps/api/js?v=3&amp;sensor=false"></script>
<script type="text/javascript" src="../src/markerwithlabel.js"></script>
<script type="text/javascript">
function initMap() {

var latLng = new google.maps.LatLng(49.47805, -123.84716);
var homeLatLng = new google.maps.LatLng(49.47805, -123.84716);

var map = new google.maps.Map(document.getElementById('map_canvas'), {
zoom: 12,
center: latLng,
mapTypeId: google.maps.MapTypeId.ROADMAP
});

var marker1 = new MarkerWithLabel({
position: homeLatLng,
draggable: true,
raiseOnDrag: true,
map: map,
labelContent: *"text"*,
labelAnchor: new google.maps.Point(22, 0),
labelClass: "labels", // the CSS class for the label
labelStyle: {opacity: 0.75}
});
</script>

我想将这个“text”替换为一个名为text的变量,它从我的 Controller 复制@somestring,比如gmaps_controller.rb

我试过添加文本:“<%= @somestring %>”我把它放在 var homelatlng 下,但没有用。

我也试过

$(document).ready(function(){
var text='<%=j @somestring%>'
})

我把它放在一个单独的 javascript 标签中,放在

之后
<script type="text/javascript" src="../src/markerwithlabel.js"></script>

也不行。

有没有其他方法可以将数据传递给 Controller ​​?请详细告诉我我是个新手。提前致谢

最佳答案

how to pass data from controller to javascript in html

您无法访问 Assets 中的 ruby​​ 变量。你最好的选择是使用 html5 data attributes 从你的 Controller 传递数据或者我应该说 View 到 javascript。假设你有这样的 html 元素:

= link_to "some text", some_path, id: "some_id", data: {value: @some_value}  #where @some_value is set in your controller

然后在javascript中像这样访问它

$(document).ready(function(){
var text = $("#some_id").data("value");
// now text will contain some_value
});

关于javascript - Ruby on Rails 如何将数据从 Controller 传递到 html 中的 javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25377600/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com