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
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 tag for us with
the test and most importantly, can precompile the file and set the good

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
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.