Я запускаю asset_path ('') внутри креветки и не получаю мои активы при развертывании

В настоящее время я пытаюсь использовать собственный шрифт в документе PDF Prawn, созданном на Ruby on Rails 4.0.13. Важно отметить, что я также использую Cloudfront в качестве CDN для своих активов.

Чтобы использовать мой шрифт, я использую:

font = asset_path ('font.ttf')

Мне пришлось взломать мой путь к среде разработки и сделать это для разработки:

font = "#{Rails.root}/app/assets#{font_path('/fonts/font.ttf')}"

Интересно то, что я получаю ошибку:

No such file or directory @ rb_sysopen - //d3dlqweqee7.cloudfront.net/assets/FuturaLT-Light-a645a904861503731c3f3fb31c31109bd57c3e82447eac95ca81525374e6f05ac3e.ttf

И актив на самом деле там, за исключением того, что я не получаю протокол "https:".

Как вы видете:

MISING: "https:"тогда остальная часть строки URL будет идеальной:"//d3dlqweqee7.cloudfront.net/assets/FuturaLT-Light-a645a904861503731c3f3fb31c31109bd57c3e82447eac95ca81525374e6f05ac3e.ttf"

Если бы я мог просто добавить https к этой строке в моей производственной среде, все было бы идеально.

Есть идеи, что происходит?

1 ответ

Использование asset_url, В основном это просто звонки asset_path но добавляет { protocol: :request } к options параметр.

когда options[:protocol] установлен в :request он будет использовать схему URI для построения URL, который использовался в запросе.

Другие вопросы по тегам