Ruby on rails 我在prawn中运行asset_path(“”),但无法在部署中获取我的资产

Ruby on rails 我在prawn中运行asset_path(“”),但无法在部署中获取我的资产,ruby-on-rails,fonts,asset-pipeline,cdn,prawn,Ruby On Rails,Fonts,Asset Pipeline,Cdn,Prawn,我目前正在尝试在RubyonRails 4.0.13上创建的PDF Prawn文档上使用自定义字体。需要注意的是,我还将Cloudfront用作我资产的CDN 要使用我的字体,在生产中,我使用: font = asset_path ('font.ttf') 我确实必须为我的开发环境开辟道路,并为开发这样做: font = "#{Rails.root}/app/assets#{font_path('/fonts/font.ttf')}" 有趣的是,我得到的错误是: No such file o

我目前正在尝试在RubyonRails 4.0.13上创建的PDF Prawn文档上使用自定义字体。需要注意的是,我还将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:protocol

如你所见:

错误提示:https:那么字符串URL的其余部分是完美的:://d3dlqweqee7.cloudfront.net/assets/FuturaLT-Light-a645a904861503731c3f3f331c31109bd57c3e82447eac95ca81525374e6f05ac3e.ttf

如果我可以在我的生产环境中将https添加到该字符串中,那么一切都将是完美的

知道发生了什么吗?

使用。基本上,它只是调用,但将{protocol::request}添加到options参数中


当选项[:protocol]设置为:request时,它将使用URI方案来构造请求中使用的URL。

为什么字体分配有/app/assets,而解析的URL只有/assets/?应用程序目录发生了什么事?这只是我在开发时的配置,一切都很顺利。在生产中,我只使用:asset_path'font.ttf'。这就是为什么我的产品解析URl不包含应用程序