Rails:如何强制所有资产上的新资产摘要?

时间:2017-04-25 11:53:21

标签: ruby-on-rails ruby-on-rails-4 asset-pipeline sprockets rails-sprockets

使用sprockets运行rails 4.2 app并使用资产摘要。运行rake assets:precompile时,它会使用摘要创建我的所有资产。然而,我需要碰撞所有资产摘要,以帮助我调试生产中的一些缓存内容。我尝试更改资产版本:

# config/initializers/assets.rb
Rails.application.config.assets.version = '6.4'

但是正在运行rake assets:precompile again after this is done, does not create new files with new digests。不应该吗?或者我错过了什么?

1 个答案:

答案 0 :(得分:3)

我发现强制资产过期并重新编译的唯一方法是在config/environments/production.rb

中添加以下内容
config.assets.version = '1.1' #This currently doesnt work as intended so use
config.assets.prefix = '/production'

然后bundle exec rake assets:precompile RAILS_ENV=production

Rails 4和Sprockets 3根据此处的主题并不完全相处,因此版本控制无法正常工作:https://github.com/rails/sprockets-rails/issues/240