我已经在我的rails 4应用程序中使用了gmaps4rails,我的lcoation有标记,我想在每个位置的标记中包含一个链接到每个位置的各个节目视图.
我的空间控制器索引操作如下所示:
def index @spaces = Space.all @hash = Gmaps4rails.build_markers(@spaces) do |space,marker| marker.lat space.latitude marker.lng space.longitude marker.infowindow render_to_string(:partial => "/spaces/infowindow",:locals => { :object=> space}) end end
我的信息部分是:
<%= link_to "Show",space_path(space) %>
我的space / index.html视图中的gmaps4rails javascript脚本是:
<script> handler = Gmaps.build('Google'); handler.buildMap({ provider: {},internal: {id: 'map'}},function(){ markers = handler.addMarkers(<%=raw @hash.to_json %>); handler.bounds.extendWith(markers); handler.fitMapToBounds(); }); </script>
undefined local variable or method `space' for #<#<Class:0x4638c48>:0x5335f20>
根据我之前的搜索,这似乎是让一个链接在标记的infowindow中工作的方法,但如果有另一种解决方案,我很乐意听到它,谢谢.
解决方法
最初由OP在问题本身中发布
空间控制器索引操作应该如下所示:
def index @spaces = Space.all @hash = Gmaps4rails.build_markers(@spaces) do |space,marker| marker.lat space.latitude marker.lng space.longitude marker.json({:id => space.id }) marker.infowindow render_to_string(:partial => "/spaces/infowindow",:locals => { :object => space}) end end
部分视图应如下所示:
<%= link_to 'See Space',space_path(object) %>