Gmaps4rails + Infobox: сбой удаленных ссылок
Каждый маркер на моей карте имеет информационное окно.
Если я использую плагин Infobox для создания информационного окна, удаленные ссылки внутри него обрабатывают действие как "HTML" вместо "JS".
Я должен уточнить, что все работает хорошо (я имею в виду, действие обрабатывается как "JS"), когда я удаляю infoboxBuilder.
Мой код:
var handler = Gmaps.build('Google', {builders: { Marker: InfoBoxBuilder} });
# In the Infowindow : <%= link_to "More", voir_infos_path(t), :remote => true %>
# Log : Started GET "/voir_infos/545e1dd382cd47db98000bb9" for 127.0.0.1 at 2014-12-04 23:10:56 +0100
Processing by ObjetsController#voir_infos as HTML
Но когда я удаляю InfoBoxBuilder:
var handler = Gmaps.build('Google');
# Same code in Infowindow : <%= link_to "More", voir_infos_path(t), :remote => true %>
# Log : Started GET "/voir_infos/545e23ae82cd47e5ac000542" for 127.0.0.1 at 2014-12-04 23:13:53 +0100
Processing by ObjetsController#voir_infos as JS
Здесь infoboxbuilder.js.coffee
Я нашел на стеке потока:
class @InfoBoxBuilder extends Gmaps.Google.Builders.Marker # inherit from base builder
# override method
create_infowindow: ->
return null unless _.isString @args.infowindow
boxText = document.createElement("div")
boxText.setAttribute("class", 'yellow') #to customize
boxText.innerHTML = @args.infowindow
@infowindow = new InfoBox(@infobox(boxText))
@bind_infowindow()
infobox: (boxText)->
content: boxText
boxClass: "infoBox box-shadow"
pixelOffset: new google.maps.Size(-140, -380)
closeBoxURL: ""
boxStyle:
width: "280px"
Как я мог заставить это работать? Спасибо
РЕДАКТИРОВАТЬ
У меня есть эта ссылка в каждом информационном окне: <%= link_to "More", voir_infos_path(t), :remote => true %>
который должен обрабатывать ObjetsController#voir_infos как "JS", не так ли?
Когда я использую плагин Infobox для отображения информационного окна (с этой частью кода: builders: { Marker: InfoBoxBuilder}
и нажмите "Подробнее", :remote => true
не работает, и ObjetsController#voir_infos обрабатывается как "HTML", а не как "JS".
Когда я удаляю builders: { Marker: InfoBoxBuilder}
все работает хорошо, и когда я нажимаю "More", ObjetsController#voir_infos обрабатывается как "JS".
РЕДАКТИРОВАТЬ 2:
HTML-код, сгенерированный для информационного окна:
<div class="infoBox box-shadow" style="width: 280px; position: absolute; visibility: visible; left: 132.270229334012px; top: 72.179231562186px; cursor: default;"><div class="yellow"><div class="row iw-content">
<div>
<img src="/covers/max_creer/missing.png">
</div>
<div class="small-12 columns">
<div class="row">
<div class="small-12 columns">
<h6> Maison Bloc </h6>
</div>
</div>
<div class="row">
<div class="small-12 columns">
<a href="/voir_infos/545e1de582cd47db98000d91" data-remote="true">More</a>
</div>
</div>
</div>