Я запускаю 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, который использовался в запросе.