turbolinks / turbolinks-classic

Classic version of Turbolinks. Now deprecated in favor of Turbolinks 5.
MIT License
3.54k stars 428 forks source link

<%= javascript_include_tag "application" "data-turbolinks-track" => true %> causes not to load the rest of *.js files #463

Closed modreoci closed 9 years ago

modreoci commented 9 years ago

The default setting: <%= javascript_include_tag "application" "data-turbolinks-track" => true %> in application.html.erb causes not to load all the rest necessary *.js files (jQuery, Foundation etc...) I'm in dev env.

  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>foundation-rails</title>

    <link href="/assets/allergens.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/foundation_and_overrides.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/layouts.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/application.css?body=1" media="screen" rel="stylesheet" />
    <script src="/assets/vendor/modernizr.js?body=1"></script>

    <meta content="authenticity_token" name="csrf-param" />
<meta content="sCJJg6oOCH7GqkyiquEalgH0KfTzRinaQS7hIrTC4qo=" name="csrf-token" />
  </head>

I tried to delete "data-turbolinks-track" => true instruction and everything starts to work. I'm newbie in Rails and I don't know if it is an error or something other... Can somebody explain it to me?

Page source after deletion of "data-turbolinks-track" => true instruction:

  <head>
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />

    <title>foundation-rails</title>

    <link href="/assets/allergens.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/foundation_and_overrides.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/layouts.css?body=1" media="screen" rel="stylesheet" />
    <link href="/assets/application.css?body=1" media="screen" rel="stylesheet" />
    <script src="/assets/vendor/modernizr.js?body=1"></script>
    <script src="/assets/jquery.js?body=1"></script>
    <script src="/assets/jquery_ujs.js?body=1"></script>
    <script src="/assets/foundation/foundation.js?body=1"></script>
    <script src="/assets/foundation/foundation.abide.js?body=1"></script>
    <script src="/assets/foundation/foundation.accordion.js?body=1"></script>
    <script src="/assets/foundation/foundation.alert.js?body=1"></script>
    <script src="/assets/foundation/foundation.clearing.js?body=1"></script>
    <script src="/assets/foundation/foundation.dropdown.js?body=1"></script>
    <script src="/assets/foundation/foundation.interchange.js?body=1"></script>
    <script src="/assets/foundation/foundation.joyride.js?body=1"></script>
    <script src="/assets/foundation/foundation.magellan.js?body=1"></script>
    <script src="/assets/foundation/foundation.offcanvas.js?body=1"></script>
    <script src="/assets/foundation/foundation.orbit.js?body=1"></script>
    <script src="/assets/foundation/foundation.reveal.js?body=1"></script>
    <script src="/assets/foundation/foundation.slider.js?body=1"></script>
    <script src="/assets/foundation/foundation.tab.js?body=1"></script>
    <script src="/assets/foundation/foundation.tooltip.js?body=1"></script>
    <script src="/assets/foundation/foundation.topbar.js?body=1"></script>
    <script src="/assets/foundation/foundation.equalizer.js?body=1"></script>
    <script src="/assets/foundation.js?body=1"></script>
    <script src="/assets/turbolinks.js?body=1"></script>
    <script src="/assets/allergens.js?body=1"></script>
    <script src="/assets/application.js?body=1"></script>
    <meta content="authenticity_token" name="csrf-param" />
    <meta content="sCJJg6oOCH7GqkyiquEalgH0KfTzRinaQS7hIrTC4qo=" name="csrf-token" />
  </head>

Here is my application.js file:

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

$(function(){ $(document).foundation(); });
javan commented 9 years ago

It looks like you're missing a comma.

You want:

<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

Not:

<%= javascript_include_tag "application" "data-turbolinks-track" => true %>