Поэтому я хочу избежать обработки файлов JavaScript с помощью ERB, просто чтобы я мог получить правильный путь к ресурсу, скажем, к изображению.
В настоящее время этот подход кажется популярным:
var myImage = "<%= asset_path('my_image') %>";
Что, конечно, требует, чтобы имя файла было изменено на "* .erb", чтобы оно было обработано.
Я бы предпочел изолировать уродство ERB до одного.В моем проекте я создаю один файл манифеста (скажем, «assets.js.erb»), который вычисляет и делает доступными все пути к активам, которые нужны моему JavaScript.
Я, безусловно, могу сделать это БЕСПЛАТНО, взяв его заby-case:
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
?.