Take a look at these two lines:
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload', :defer => "defer" %>
That is generated by default in a new rails project, except for the :defer
part, which I included to defer my scripts based on the method advised by this answer.
Note that media
is neither a symbol or a string, while :defer
is a symbol and 'data-turbolinks-track'
is a string. I don't even know what terminology to use here so I'm calling them "include attributes," since they are the names of attributes on an include in my application.html.erb
.
Why are there different types here? Which is suggested? Why do all three work? I find this frustrating.