0

I have an issue with my javascript files, seems they are not load properly in each redirect from my app. I need make a refresh to get load them.

Im using rails 5, and turbolinks 5.

This is how my application.html.erb asset tag helpers looks like

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

and this is my application.js

//= require rails-ujs
//= require jquery.min.js
//= require activestorage
//= require turbolinks
//= require_tree .
//= require bootstrap.min.js
//= require bootstrap-datepicker.js
//= require circle-progress.min.js
//= require html5shiv.min.js
//= require jquery.appear.js
//= require jquery.appear.min.js
//= require jquery.countTo.js
//= require jquery.easing.1.3.js
//= require jquery.flexslider-min.js
//= require jquery.magnific-popup.min.js
//= require jquery.stellar.min.js
//= require jquery.waypoints.min.js
//= require owl.carousel.min.js
//= require respond.min.js

I get all my libraries from vendor/assets/javascripts

Joaquin Diaz
  • 184
  • 1
  • 5
  • 16
  • 1
    Have you had a look at https://stackoverflow.com/questions/36110789/rails-5-how-to-use-document-ready-with-turbo-links. Typical `$(document).ready()` events do not work with Turbolinks. – Dylan Pinn Aug 21 '19 at 23:15
  • yes, seems like is the solution but I cant change the code of all the libraries. For now I removed turbolink from my app. – Joaquin Diaz Aug 22 '19 at 01:23

1 Answers1

0

Turbolinks 5 - to load the javascript properly use following events below :

$(document).on('turbolinks:load', function () {
    // jquery javascript
    // your code snippet here

});


document.addEventListener('turbolinks:load', function(event) {
    // vanilla javascript
    // your code snippet here
});
Marcelo Austria
  • 861
  • 8
  • 16