2

我有一个拥有大量资产的 Rails 3.2 应用程序。没关系,因为我正在使用 [Asset Sync Gem( https://github.com/rumblelabs/asset_sync ) 将我所有已编译的资产推送到 S3 存储桶。

问题是这些资产仍然包含在 slug 大小中,即使应用程序使用 S3 上的版本。这导致我的 slug 大小最终超过 300MB 限制。

我不能使用.slugignore文件,因为这会阻止文件同步,那么在 AssetSync 将它们推送到 S3 并且在编译 slug 之前如何删除所有资产?

[更新]

我现在在本地预编译所有内容。Heroku 编译资产的速度非常慢,更重要的是,它每次都会编译所有内容。一旦你的资产达到了不小的规模,这真的很痛苦。我现在在本地预编译并有一个 Rake 任务检查清单并推送到 Heroku。

4

1 回答 1

3

assets:clean您可以添加运行后删除目录的行为

require 'fileutils'
Rake::Task["assets:clean"].enhance do
  FileUtils.remove_dir "#{Rails.root}/public/assets", true
end

你可以把它放在你的 Rakefile 中。

于 2013-08-15T03:26:17.777 回答