turbolinks issues with bootstrap modal
As davydotcom said, the reason the modals aren't working is because they are bound to $(document).ready
instead of $(document).on('page:change')
, which is what turbolinks uses.
The jquery-turbolinks gem will make it so that ready calls will also respond to turbolink's page:change calls.
Step 1: Add gem jquery-turbolinks
to your Gemfile.
Step 2: Add it to your JavaScript manifest file, in this order:
//= require jquery//= require jquery.turbolinks//= require jquery_ujs//// ... your other scripts here ...////= require turbolinks
Step 3: Restart your server. Boom!
data-no-turbolinks is not the issue here...
It appears bootstrap js out of the box monitors only document.ready, and bootstrap JS may need modified to check for page:load as well
This will only fire on the first request in which bootstrap is included. It needs modified to fire on page:load as well.
One suggestion I can make is to use gem 'twitter-bootstrap-turbo' for getting bootstrap. This is a fork of twitter-bootstrap-rails , with the addition of turbolinks handlers.