我有一个拥有大量资产的Rails 3.2应用程序。没关系,因为我正在使用[Asset Sync Gem(https://github.com/rumblelabs/asset_sync)将所有已编译的资产推送到S3存储桶。
问题是即使应用程序使用S3上的版本,这些资产仍然包含在slug大小中。这导致我的slu size大小最终超过了300MB的限制。
我无法使用.slugignore
文件,因为这会阻止文件同步,所以一旦AssetSync将它们推送到S3并且在编译slug之前,我怎么能删除所有资产?
[UPDATE]
我现在在本地预编译所有内容。 Heroku在编译资产方面非常缓慢,更重要的是,它每次都会编译所有内容。一旦您的资产达到非平凡的规模,这真的很痛苦。我现在在本地预编译,并有一个Rake任务,检查清单并推送到Heroku。
答案 0 :(得分:3)
您可以添加在assets:clean
运行后删除目录的行为
require 'fileutils'
Rake::Task["assets:clean"].enhance do
FileUtils.remove_dir "#{Rails.root}/public/assets", true
end
你可以把它放在你的Rakefile中。