Rails: use $(document).ready() with Turbolinks
If you are not familiar with Turbolinks, you could get weird bug related to Javascript interactions that are fired in $(document).ready()
event when navigating between pages. This post introduces possible solutions for this issue.
For Rails 5 or Rails apps that use Turbolinks 5
// no need for $(document).ready()
$(document).on('turbolinks:load', function() {
// code goes here
});
For Rails 4 apps that uses old Turbolinks
var ready;
ready = function() {
// code goes here
}
$(document).ready(ready);
$(document).on('page:load', ready);
Or
$(document).on('ready page:load', function () {
// code goes here
});
Or
$(document).on('page:change', function () {
// code goes here
});