Я постараюсь, чтобы мяч заработал, но мне пришлось бы сделать гораздо больше, чтобы проверить или дать лучший ответ, поэтому я отмечу этот ответ вики сообщества. Таким образом, другие можете ответить ниже или отредактировать этот пост.
Мне пришлось настроить конвейеризацию ресурсов для Sinatra, и, вообще говоря, в последних версиях Sprockets (которая используется для обеспечения конвейеризации активов в Rails) класс Sprockets::Asset
имеет методы для получения путь и логический путь .
Я считаю, что Rails использует хелпер asset_path для генерации общедоступного URL-адреса из класса Sprockets. Это, в свою очередь, похоже, использует метод экземпляра AssetPaths#compute_public_path
. Хорошим первым шагом было бы изменить эти части кода, добавив параметр source_url
на основе вашего анализа source.pathname
. Предполагается, что источником является экземпляр Sprockets::Asset
в той или иной форме.