Избегайте файлов * .js.erb, создавая все значения asset_path

Поэтому я хочу избежать обработки файлов JavaScript с помощью ERB, чтобы получить правильный путь к активу, скажем, к изображению. .

В настоящее время это похоже на популярный подход:

var myImage = "<% = asset_path ('my_image')%>";

Что, конечно же, требует изменения имени файла на «* .erb», чтобы оно было обработано.

Я бы предпочел изолировать безобразие ERB до одной точки в моем проекте, создав один файл манифеста (скажем, «assets.js.erb»), который вычисляет и делает доступными все пути к ресурсам, которые нужны моему JavaScript.

Я определенно могу сделать это БЕЗОПАСНО, решая это в каждом конкретном случае:

ASSETS =
  "my_image": "<%= asset_path('my_image') %>"

window.assetPath = (path) -> ASSETS[path]

Но я бы предпочел просто написать некоторый ERB для рекурсии через все мои asset_paths.asset_environment.paths и создайте для меня большой буквальный манифест объекта, чтобы мой реальный JavaScript-код приложения мог уверенно вызывать:

var myImage = assetPath ('my_image');

Любые идеи относительно (1), если есть более простой способ сделать это, который я пропустил, или (2) как я бы выполнил поиск всех потенциальных действительных аргументов asset_path ?.

17
задан Justin Searls 15 December 2011 в 16:29
поделиться