Ste*_*ühn 13 assets version precompile ruby-on-rails-4
我有一个Rails 4.2.4(Ruby 2.2.2)应用程序,我通过Cloudfront提供静态资产.
如果Cloudfront提供您不想要的东西,有两种可能性:
但是,当我改变
Rails.application.config.assets.version ='1.0'
至
Rails.application.config.assets.version ='2.0'
(在config/initializers/assets.rb中)
和
删除公共/资产中的所有资产
运行"RAILS_ENV = staging bundle exec rake assets:precompile"
生成相同的文件名!
我发现使application.scss的消化文件无效的唯一方法是添加一些虚拟内容以激发新的md5校验和.
我究竟做错了什么?
不应该新的assets.version改变消化的文件名吗?
最诚挚的问候和感谢!
按照在Rails的意见拉要求我打开,这是一个需要修复回归:https://github.com/rails/sprockets-rails/issues/240
更新:正如sansarp提到的那样,github问题中列出的一个解决方法是使用旧版本的链轮:
gem 'sprockets', '< 3.0.0'
Run Code Online (Sandbox Code Playgroud)
另一种解决方法是使用资产路径作为缓存断路器:
# config/initializers/assets.rb
Rails.application.config.assets.prefix = "/assets/v1"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
878 次 |
| 最近记录: |