Search code examples
javascriptjqueryruby-on-railsturbolinks

jquery.turbolinks not working on $(document).ready in Rails


After realising my rails app was experiencing the well known issue of $(document).ready) not working with turbolinks I installed jquery.turbolinks exactly as the docs suggest but I'm still experiencing the same issue. Whenever turbolinks are used to navigate none of the JavaScript in my $(document).ready) function works.

Here is some of my code:

In application.js:

//= require jquery
//= require jquery.turbolinks
//= require jquery_ujs
//= require_tree .
//= require turbolinks

Example of JavaScript not working:

$(document).ready(function() {
  $('.notice:empty').hide();
  $('.alert:empty').hide();
  $(".notice").delay(2000).fadeOut();
  $(".alert").delay(2000).fadeOut();
});

Solution

  • Turned out to be a simple error, I had a small script actually in the application.js file and I didn't realise that //= require turbolinks needed to go beneath that too