我正在测试一个rails页面,我在其中搜索检索不同房间的过滤器。现在房间的infoWindow只显示价格,但这不是我需要做的。
我想让infoWindow中的代码可以点击,将我带到那个房间页面。我怎么能这样做?
这是我的java脚本代码
var marker, inforwindow;
<% @arrRooms.each do |room| %>
marker = new google.maps.Marker({
position: {lat: <%= room.latitude %>, lng: <%= room.longitude %>},
map: map
});
inforwindow = new google.maps.InfoWindow({
content: "<div class='map_price'>$ " + <%=room.price%> + "</div>"
});
inforwindow.open(map, marker);
<% end %>
尝试了不同的方法来包含link_to,但我无法弄清楚如何正确实现。
非常感谢协助和指导。
答案 0 :(得分:1)
在javascript细分中使用ERB时,请使用escape_javascript
帮助:http://api.rubyonrails.org/classes/ActionView/Helpers/JavaScriptHelper.html#method-i-escape_javascript
示例:
var marker, inforwindow, windowContent;
<% @arrRooms.each do |room| %>
marker = new google.maps.Marker({
position: {lat: <%= room.latitude %>, lng: <%= room.longitude %>},
map: map
});
windowContent = "<div class='map_price'>$<%= escape_javascript room.price %></div>";
windowContent += "<div><%= escape_javascript link_to('Room Details', room) %></div>";
inforwindow = new google.maps.InfoWindow({
content: windowContent
});
inforwindow.open(map, marker);
<% end %>
答案 1 :(得分:0)
这可以吗?
<% @arrRooms.each do |room| %>
marker = new google.maps.Marker({
position: {lat: <%= room.latitude %>, lng: <%= room.longitude %>},
map: map
});
inforwindow = new google.maps.InfoWindow({
content: "<div class='map_price'>$ " + <%=room.price%> + "</div><a href='"+ <%= room_path(room) %> +"'></a>"
});
inforwindow.open(map, marker);
<% end %>
答案 2 :(得分:-1)
你可以尝试!
var marker,inforwindow;
<% @arrRooms.each do |room| %>
marker = new google.maps.Marker({
position: {lat: <%= room.latitude %>, lng: <%= room.longitude %>},
map: map
});
inforwindow = new google.maps.InfoWindow({
content: "<a href=/rooms/"+room.id+">" + <%=room.price%> + "</a>"
});
inforwindow.open(map, marker);
<% end %>