जैसा कि मैं समझता हूं कि अगर /= require_tree application.js फ़ाइल में मौजूद है तो संपत्ति/जावास्क्रिप्ट फ़ोल्डर में कोई भी जेएस फ़ाइल लोड हो जाती है। हालांकि, मुझे अपना जेएस कोड काम करने के लिए नहीं मिल रहा है। मैंने इसे assets/javascripts/locations.js में डाल दिया है और यह काम नहीं करता है। जब मैंने इसे अपनी application.html.erb फ़ाइल में script टैग में रखा तो यह दूसरी ओर पूरी तरह से काम कर गया। कोई विचार जो मुझे याद आ रहा था? रनिंग रेल 5.2. जेएस कोड नीचे है।

स्थान.जेएस

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' %>
0
Steve 5 मई 2019, 13:18

1 उत्तर

सबसे बढ़िया उत्तर

कहाँ है <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %> आपके application.html.erb में?

इसे अपने बॉडी टैग के अंत में डालने का प्रयास करें, कम से कम <%= yield %> के बाद

1
Holino 5 मई 2019, 11:29