title: Am I supposed to use strings, symbols, or whatever the third thing is for include attributes?
body: <p>Take a look at these two lines:</p>
  
  <pre><code>   &lt;%= stylesheet_link_tag    'application', media: 'all', 'data-turbolinks-track': 'reload' %&gt;
     &lt;%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload', :defer =&gt; "defer" %&gt;
  </code></pre>
  
  <p>That is generated by default in a new rails project, except for the <code>:defer</code> part, which I included to defer my scripts based on the method advised by <a href="https://stackoverflow.com/questions/10982375/add-defer-attribute-to-javascript-include-tag-rails">this answer</a>.</p>
  
  <p>Note that <code>media</code> is neither a symbol or a string, while <code>:defer</code> is a symbol and <code>'data-turbolinks-track'</code> 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 <code>application.html.erb</code>.</p>
  
  <p>Why are there different types here? Which is suggested? Why do all three work? I find this frustrating.</p>