Поэтому я хочу избежать обработки файлов JavaScript с помощью ERB, чтобы я мог получить правильный путь к файлу, скажем, к изображению.Избегайте файлов * .js.erb, создавая все значения параметра asset_path.
В настоящее время, это, кажется, как популярный подход:
var myImage = "<%= asset_path('my_image') %>";
Который, конечно, требует имя файла будет изменено на «* .erb», так что он будет обработан.
Я бы предпочел изолировать уродство ERB до одной точки моего проекта, создав один файл манифеста (скажем, «assets.js.erb»), который вычисляет и предоставляет все пути доступа, которые мне нужны для JavaScript.
Я могу, конечно, это влажно путем устранения его от случая к случаю:
ASSETS =
"my_image": "<%= asset_path('my_image') %>"
window.assetPath = (path) -> ASSETS[path]
Но я бы на самом деле, а просто написать несколько Еврорадио в рекурсию через все мое asset_paths.asset_environment.paths
и построить большой объект буквального проявляются для меня, так что мое реальное применение JavaScript можно с уверенностью назвать:
var myImage = assetPath('my_image');
Любые идеи о (1), если есть более простой способ сделать это, что я пропустил, или (2), как бы я выполнить поиск всех мощных ial действительных аргументов до asset_path
?.
но так как мы прекомпилируем активы, разве это не означает, что мы отказываемся от добавления # resource_path '' add digest в URI? –
Хороший комментарий, я отредактировал свое сообщение, чтобы принять его во внимание. –