включить JS-скрипт в Rails 5.1.4

1

Когда я использую теги на странице просмотра, карта показывает, и файл работает нормально. Он не показывает карту или запускает скрипт, когда я помещаю скрипт в папку app/assets/javascripts и вызываю его. Это то, что у меня есть. Есть идеи? Спасибо.

конфиг/инициализаторы/assets.rb:

    Rails.application.config.assets.precompile += %w( mapshow.js )

app.assets/просмотров/места /map.html.erb

   <%= javascript_include_tag 'mapshow' %>

активы/JavaScripts/mapshow.js

var map = new google.maps.Map(document.getElementById('map'), {
zoom: 10,
center: new google.maps.LatLng(37.725685, -122.156830),
mapTypeId: google.maps.MapTypeId.ROADMAP
});

var places = <%= @locations.to_json.html_safe %>
var infowindow = new google.maps.InfoWindow();
var marker, i;

for (i = 0; i < places.length; i++) {

marker = new google.maps.Marker({
  position: new google.maps.LatLng(places[i].lat, places[i].lng),
  map: map
});

google.maps.event.addListener(marker, 'click', (function(marker, i) {
  return function() {
    infowindow.setContent(places[i].location_name + "   <br />  " + places[i].location_description  + "    <br />     " + places[i].location_address);
    infowindow.open(map, marker);
  }
})(marker, i));
}
Теги:
erb

1 ответ

0
  1. Вы используете синтаксис ERB в вашем js файле, а не как "precompiling".
  2. Откройте браузер и найдите строку, созданную javascript_include_tag. Скопируйте адрес и вставьте его в адресную строку. Проверьте, загружен ли файл.
  3. Если вы хотите загрузить файлы js, измененные ERB, вы должны добавить их в свои представления с расширением .js.erb и загрузить их с помощью XHR (вам также нужно будет определить новый контроллер и маршрут для этого)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню