私は、ERBでJavaScriptファイルを処理しないようにしたいので、イメージなどの適切なアセットパスを取得できます。すべてのasset_path値を構築することで* .js.erbファイルを避ける
は現在、これは一般的なアプローチのように思える:
var myImage = "<%= asset_path('my_image') %>";
どの、もちろん、それが処理されますように、ファイル名が「* .erb」に変更することが必要です。
JavaScriptで必要なすべてのアセットパスを計算して利用できるようにする、単一のマニフェストファイル(assets.js.erbなど)を作成するプロジェクトでERBの醜さを1つのポイントに分離するのがはるかに簡単です。
I確かにケース・バイ・ケース、それに取り組むことにより、濡れそれを行うことができます。
ASSETS =
"my_image": "<%= asset_path('my_image') %>"
window.assetPath = (path) -> ASSETS[path]
しかし、私は本当にむしろちょうど私asset_paths.asset_environment.paths
のすべてを再帰するためにいくつかのERBを書き、文字通り大きなオブジェクトを構築したいです私の実際のアプリケーションJavaScriptが自信を持って呼び出すことができるように、私のマニフェスト:上
var myImage = assetPath('my_image');
任意のアイデア(1)私は逃した、または(2)私はどのように達成したいこれを行うための簡単な方法があるかどうすべてのポテンシャルの検索有効な引数はasset_path
?になります。
アセットをあらかじめコンパイルしているので、これはURIにダイジェストを追加する '#asset_path'をあきらめているわけではありませんか? –
良いコメント、私はそれを考慮に入れて自分の投稿を編集しました。 –