Приложение Rails 5 не будет загружать JS из папки assets / javascripts - PullRequest
0 голосов
/ 05 мая 2019

Насколько я понимаю, любой файл js в папке assets / javascripts загружается, если в файле application.js присутствует /= require_tree. Однако я не могу заставить работать мой код JS. Я положил его в assets/javascripts/locations.js, и он не работает. Когда я поместил его в тег script в моем файле application.html.erb, он отлично работал с другой стороны. Есть идеи, чего мне не хватать? Ходовые рельсы 5.2. Код JS ниже.

locations.js

var locations = ["coordinatesStore"]
  .map(id => document.getElementById(id));

Array.prototype.forEach.call(
  document.querySelectorAll('.add-button'),
  (button, i) => {
    button.addEventListener('click', () => getLocation(i));
  }
);

function getLocation(i) {
  var location = locations[i];
  if (navigator.geolocation) {
    navigator.geolocation.getCurrentPosition(({ coords: { latitude, longitude }}) => {
      location.value = latitude + ", " + longitude;
    });
  } else { 
    location.value = "Geolocation is not supported by this browser.";
  }
}

У меня есть этот тег в моем application.html.erb

<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>

1 Ответ

1 голос
/ 05 мая 2019

Где находится <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> в вашем application.html.erb?

Попробуйте поместить его в конец тега body, как минимум после <%= yield %>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...