Ruby on rails 未服务Rails Cloudfront资产
我与Heroku一起为Rails设置了Cloudfront,一开始它运行良好。在过去的几天里,我注意到cloudfront.net不再提供这些资产Ruby on rails 未服务Rails Cloudfront资产,ruby-on-rails,heroku,amazon-cloudfront,Ruby On Rails,Heroku,Amazon Cloudfront,我与Heroku一起为Rails设置了Cloudfront,一开始它运行良好。在过去的几天里,我注意到cloudfront.net不再提供这些资产 Production.rb 我可以访问cloudfront地址下的所有资产,在chrome中,我可以看到应用程序5deb6995ce9b984d469b27c58cc92a095d19cd13e0acd622ffe426c41826e055.js从cloudfront服务器获得服务。但是,页面上的所有静态图像,例如/assets/shop/banne
Production.rb
我可以访问cloudfront地址下的所有资产,在chrome中,我可以看到应用程序5deb6995ce9b984d469b27c58cc92a095d19cd13e0acd622ffe426c41826e055.js从cloudfront服务器获得服务。但是,页面上的所有静态图像,例如/assets/shop/banners/2.jpg,都没有
这似乎与预编译有关,因为它不查找文件的指纹版本,或者
在我的gem文件中,我包含以下内容:
group :production, :staging do
gem 'rails_12factor'
gem 'pg'
end
正如tegon所指出的,需要使用image_标签或image_url来服务cloudfront的资产。我的代码中有一个通常的“imgsrc”引用,它不会被识别
将img src更改为image_标记或image_url,并且它正在工作。谢谢 正如tegon指出的,需要使用image_标签或image_url来服务cloudfront的资产。我的代码中有一个通常的“imgsrc”引用,它不会被识别
将img src更改为image_标记或image_url,并且它正在工作。谢谢 下面是一个使用CloudFront的Rails 5.2应用程序示例: 除了asset_主机之外,您还应该为您的资产配置
缓存控制
头。这就是CloudFront几乎永远缓存不可变的应用程序-5deb6995ce9b984d469b27c58cc92a095d19cd13e0acd622ffe426c41826e055.js
命名资产的原因
Rails.application.configure do
config.action_controller.asset_host = "https://d372g5jsa84e2.cloudfront.net"
config.public_file_server.headers = {
'Cache-Control' => 'public, max-age=31536000'
}
end
如上所述,使用资产管道url
helpers。下面是SCCfont-url
helper的一个示例:
@font-face {
font-family: 'Inconsolata';
src: font-url('Inconsolata-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {
font-family: "Inconsolata";
}
下面是一个使用CloudFront的Rails 5.2应用程序示例: 除了asset_主机之外,您还应该为您的资产配置
缓存控制
头。这就是CloudFront几乎永远缓存不可变的应用程序-5deb6995ce9b984d469b27c58cc92a095d19cd13e0acd622ffe426c41826e055.js
命名资产的原因
Rails.application.configure do
config.action_controller.asset_host = "https://d372g5jsa84e2.cloudfront.net"
config.public_file_server.headers = {
'Cache-Control' => 'public, max-age=31536000'
}
end
如上所述,使用资产管道url
helpers。下面是SCCfont-url
helper的一个示例:
@font-face {
font-family: 'Inconsolata';
src: font-url('Inconsolata-Regular.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
body {
font-family: "Inconsolata";
}
你是在使用helpers
image\u标签
还是image\u url
来显示你的图像?我想我需要这样做?是的,如果你使用图像helpers,rails会在你的图像前面加上config.action\u controller.asset\u host
中定义的值。有关更多信息,请参阅。您是在使用helpersimage\u标记
还是image\u url
来显示图像?我想我需要这样做?是的,如果您使用图像helpers,rails将使用config.action\u controller.asset\u host
中定义的值作为图像的前缀。有关更多信息,请参阅。