Jquery 将标记id传递到rails部分gmaps4rails v2

Jquery 将标记id传递到rails部分gmaps4rails v2,jquery,ruby-on-rails,google-maps,gmaps4rails,Jquery,Ruby On Rails,Google Maps,Gmaps4rails,我正在使用gmaps4railsv2并将marker.id作为我的“Land.id”传递。我正在尝试将变量传递到一个partial中,就像传递到info窗口中一样 信息窗口:(lands\u controller.rb) @hash=Gmaps4rails.build_标记(@lands)do | land,marker| marker.lat land.latitude marker.lng land.longitude marker.title "#{land.name}" ma

我正在使用
gmaps4rails
v2
并将marker.id作为我的“Land.id”传递。我正在尝试将变量传递到一个partial中,就像传递到info窗口中一样

信息窗口:(lands\u controller.rb)

@hash=Gmaps4rails.build_标记(@lands)do | land,marker|

marker.lat land.latitude
  marker.lng land.longitude
  marker.title "#{land.name}"
  marker.picture({
   "url" => ActionController::Base.helpers.image_path("crosshair.png"),
   "width" =>  10,
   "height" => 10})
  marker.infowindow render_to_string(partial: "/layouts/popupbox", locals: {l: land})
  marker.json({ :id => land.id })
end 
要在单击标记时移动零件并加载它:

映射部分(_gmap.html.erb)

google.maps.event.addListener(marker.getServiceObject(),'click',function()){

land=;
$(#侧边栏).html(“”);
});

这不管用,但有办法做到吗?它可能与或相同,但我无法从这些答案中修复它。

@apreading是正确的,无法从js中渲染部分。如果其他人也有类似的问题,我可以通过使用带有ajax post请求的点击处理程序来解决,并使用jQuery从rails加载部分内容

映射部分(_gmap.html.erb)

路由器(routes.rb)

控制器(lands\u Controller.rb)

查看(sideinfo.js.erb)

$(“#info”).html(“”)

你不能用这种方式混合ruby和js,这会输出静态js你有办法解决这个问题吗?谢谢你的回复。提供生成的javascript,这样我就有了一个真正的想法,我想我可以理解这一部分。实际上我还有一个问题。当我做
marker.setAnimation(google.maps.Animation.BOUNCE)时
marker.infowindow()
在单击处理程序中,它给出了一个未定义的错误。这实际上与我的另一个问题(已解决)有关,因此我不确定是否在此处或此处发表评论,或者只是更改此问题。与其他任何地方一样,使用
标记。getServiceObject()。单击列表中的setAnimation
始终为我提供最后一个id。您能告诉我如何获取特定的标记id吗?提前许多天:)
        land = <% Land.find_by_id(marker.id) %>;
        $(#sidebar).html("<%= escape_javascript(partial: '/layouts/popupbox', locals: {l: land})%>");
    });
var n = marker.getServiceObject().title;
google.maps.event.addListener(marker.getServiceObject(), 'click', function() {
            $.post('/lands/sideinfo', { name: n });         
        });
resources :lands do
  collection {post :sideinfo}
end
def sideinfo
  @l=Land.find_by_name(params['name'])
  respond_to do |format|
    format.js
  end
end
$("#info").html("<%= j render partial: '/layouts/popupbox', locals: {l: @l} %>")