Поэтому я хочу избежать обработки файлов 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
?.