在rails中,如何设置sprockets配置保留3个以上副本?

In rails, how do you set the sprockets config to keep more than 3 copies?

我将如何更改 rails 中链轮的配置,以便保留 js/css.

的 3 个以上旧副本

以下是关于 chaging keep 的 sprockets 文档,但我不确定如何将其放入 rails 生产环境。

https://github.com/rails/sprockets-rails#customize

require 'sprockets/rails/task'
Sprockets::Rails::Task.new(Rails.application) do |t|
  t.environment = lambda { Rails.application.assets }
  t.assets = %w( application.js application.css )
  t.keep = 5
end

将其放入 lib/tasks 中的文件中,以 .rake 结尾。

所以你可以有 your/app_root/lib/tasks/assets.rake:

require 'sprockets/rails/task'
Sprockets::Rails::Task.new(Rails.application) do |t|
  t.keep = 5
end

这会将保留文件的默认数量更改为 5。或者,rake 任务也接受它作为参数,因此您可以 运行:

rake assets:clean[5]

这还将保留每个资产的 5 个版本。