Как отправиться от ERB для HAML JavaScript
-
21-12-2019 - |
Вопрос
Я пытаюсь преобразовать свой файл ERB в HAML.Я подумал, что я могу строчить интерполировать большую часть моего кода, но я бегу в проблемы при попытке использовать функцию листовки JavaScript, L.Polygon () ( http://leafleftjs.com/reference.html#polygon ), который принимает только цифры. Вот мой код ERB:
<h1>MAP!</h1>
<ul>
<li>Start: <%= @start %></li>
<li>End: <%= @end %></li>
</ul>
<div id="map"></div>
<script type="text/javascript" charset="utf-8">
var map = L.map('map').setView([40.7142, -74.0064], 13);
L.tileLayer('http://tile.stamen.com/toner/{z}/{x}/{y}.png', {attribution: 'Stamen Toner'}, {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',
maxZoom: 18
}).addTo(map);
L.marker(<%= @start %>).addTo(map);
L.marker(<%= @end %>).addTo(map);
L.polygon([
<%= @start %>,
<%= @end %>
]).addTo(map);
</script>
.
И вот мой не совсем работает код HAML:
%h1 MAP!
%ul
%li
Start: #{@start}
%li
End: #{@end}
#map
%script{charset: "utf-8", type: "text/javascript"}
var map = L.map('map').setView([40.7142, -74.0064], 13);
L.tileLayer('http://tile.stamen.com/toner/{z}/{x}/{y}.png', {attribution: 'Stamen Toner'}, {
attribution: 'Map data © <a href="http://openstreetmap.org">OpenStreetMap</a> contributors, <a href="http://creativecommons.org/licenses/by-sa/2.0/">CC-BY-SA</a>, Imagery © <a href="http://cloudmade.com">CloudMade</a>',maxZoom: 18}).addTo(map);
L.marker(#{@start}).addTo(map);
L.marker(#{@end}).addTo(map);
L.polygon([#{@start},#{@end}]).addTo(map);
. Решение
Попробуйте использовать parseInt
:
L.polygon([parseInt(#{@start}),parseInt(#{@end})]).addTo(map);
. Не связан с StackOverflow