我想知道是否有人可以看到我的asset_sync配置有什么问题,当上传到我的存储桶时,正在上传原始版本和md5-hash版本,而不仅仅是散列版本,这是正确的吗?
Using: Manifest /tmp/build_9c7add81-9978-4a01-b46b-f9a4c5ef032e/public/assets/manifest.yml
Overwriting matching file assets/arrow-left-06560809407b138d1da196208f851494.png with custom headers {:cache_control=>"max-age=31536000", :expires=>"Tue, 16 Jun 2015 10:16:23 GMT"}
Uploading: assets/arrow-left-06560809407b138d1da196208f851494.png
Overwriting matching file assets/arrow-right-ae6596cd5b8613bc8dc71cac6851f769.png with custom headers {:cache_control=>"max-age=31536000", :expires=>"Tue, 16 Jun 2015 10:16:23 GMT"}
同样在尝试调用资产时,它调用原始文件名而不是md5哈希,所以
<img src="http://mybucket.s3.amazonaws.com/assets/slider/img-6.jpg">
而不是
<img src="http://mybucket.s3.amazonaws.com/assets/slider/img-6-06560809407b138d1da196208f851494.jpg">
我的初始化程序看起来像这样
if defined?(AssetSync)
AssetSync.configure do |config|
config.fog_provider = ENV['FOG_PROVIDER']
config.aws_access_key_id = ENV['AWS_ACCESS_KEY_ID']
config.aws_secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
config.fog_directory = ENV['FOG_DIRECTORY']
config.fog_region = ENV['FOG_REGION']
config.existing_remote_files = "delete"
config.gzip_compression = true
config.manifest = true
config.custom_headers = { '.*' => { cache_control: 'max-age=31536000', expires: 1.year.from_now.httpdate } }
end
end
当我部署到heroku rake时:资产预编译运行,但我已经在本地运行,所以想知道是否,manifest.yml文件是不正确的?我可以删除它并创建一个新的吗?
如果需要更多信息,请告诉我
由于
修改
所以我找到了创建原始文件和手指打印资产的原因
&#34; Rails 3默认编译一次以生成指纹资产,一次生成非指纹资产(指纹识别资产在文件名中有MD5哈希)。
您可以使用turbo-sprockets-rails3 gem从一个编辑中创建。
在Rails 4中,此功能被提取到sprockets-rails gem并且行为已更改,因此在Rails 4中不会发生双重编译。&#34;
在这个阶段虽然我仍然不知道为什么手指打印的资产没有被称为