Fallback for CDN asset loading


What would you think to add a fallback option to javascript_include_tag?

If I load dojo from Google CDN, I’d like a fallback. The easiest way to do so is by putting a script tage right after it:

But the dojo library should go in your /vendors/assets/ not in your /public/assets. To get it served, I need to play with the config.assets.precompile if I understand well. Anyway, it all seem very hacky too me.

What would you think of being able to do something like that:

= javascript_include_tag "http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js", :test => 'typeof(dojo) === "undefined"', :local => 'local/path/to/dojo'

That way rails take care of putting the extra <script> tag for us with the test and most importantly, can precompile the file and set the good path. 
What do you think?

Why not just something like this? Then you can put your dojo.js in assets/javascripts and compile it like normal. Seems kind of unnecessary to add extra logic to javascript_include_tag

<%= javascript_include_tag “http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js” %>

Hi Tim,

That’s what I’m doing and it works just fine.

Though the second tag belongs to the first one and could be generated/linked to it.

It is just an idea that would make it cleaner and more self contained.

Gotcha. You could always create a helper for it.