45

Is there some way to add the defer attribute easily using the javascript_include_tag helper in Rails?

I.e., is there some easy way to turn

<%= javascript_include_tag "blah.js" %>

into

<script defer src="blah.js"></script>

2 Answers 2

54
<%= javascript_include_tag "blah.js", :defer => "defer" %>

This will get you (in development):

<script defer="defer" src="/assets/blah.js" type="text/javascript"></script>
Sign up to request clarification or add additional context in comments.

4 Comments

For those interested, here is the link to the docs: w3.org/TR/html4/interact/scripts.html#edef-SCRIPT
This also works great with middleman which also uses sprokets / asset pipeline.
Strange, they don't have any example of async and difer in APIDoc :\
A bit simpler, same result: <%= javascript_include_tag "blah.js", defer: true %>
38

You can also do

<%= javascript_include_tag "blah.js", defer: true %>

which is more consistent with other switches.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.