私は資産パイプラインに苦労しています。私は私のテンプレートでこれを入れてGoogleのCDNから道場をロードしています:条件付きのJavaScriptが資産パイプラインで必要です
= javascript_include_tag 'http://ajax.googleapis.com/ajax/libs/dojo/1.6.1/dojo/dojo.xd.js', :'data-dojo-config' => %Q(dojoBlankHtmlUrl:'/blank.html', baseUrl: 'assets/', modulePaths: {custom: 'javascripts/modules'})
ローカルまたはCDNがダウンしている場合は実行されている場合、私はちょうどローカルバージョンへのフォールバックをしたいです。私はこれをやろうと思った:
script typeof(dojo) === "undefined" && document.write(unescape('%3Cscript src="js/libs/dojo-1.6.1.min.js"%3E%3C/script%3E'));
しかし、私はそれが資産のパイプラインから機能するので、それは好きではない。 vendors/assets/javascripts/dojo
に道場を残したい。どのようにして、資産パイプラインによって対応されるようにすることができますか。
アセットパイプラインで条件付き要求を宣言する方法はありますか。私が望むのは、いくつかのjavascriptテストを実行し、結果に応じてファイルを提供することです。
おかげ
CDNの最高の機能の1つは、クライアントによってとにかにキャッシュされるべきだということです。だから、気にする必要はありません。地方開発のためには、 'javascript_inlcude_tag'を実行するだけです。その解決策があなたのために十分に保存されていない場合は、あなたの資産/ javascriptsに入れて、あなたの他のすべての時間でそれを提供する必要があります。 – phoet
私はそれを得る。しかし、テンプレートにファイルを含めることなくファイルをアセットパイプラインで処理する方法があればうれしいでしょう。したがって、javascriptを使用して含めることができるpublic/assets/javascripts/dojo-1.6.1.jsファイルを生成することができます。 1.6.1が指摘となる。両方の世界の最高。 – karellm
私はそれが素晴らしいアイデアだとは思わないが、味は異なる。 – phoet