asset_sync没有使用Rails 3调用md5散列资产

时间:2014-06-16 10:56:22

标签: ruby-on-rails ruby ruby-on-rails-3 heroku asset-sync

我想知道是否有人可以看到我的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;

在这个阶段虽然我仍然不知道为什么手指打印的资产没有被称为

0 个答案:

没有答案