ruby-on-rails-4 – Rails 4.2 Rails.application.config.assets.version不会使摘要资源文件名无效

前端之家收集整理的这篇文章主要介绍了ruby-on-rails-4 – Rails 4.2 Rails.application.config.assets.version不会使摘要资源文件名无效前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Rails 4.2.4( Ruby 2.2.2)应用程序,我通过Cloudfront提供静态资产.

如果Cloudfront正在提供您不想要的东西,则有两种可能性:

>使Cloudfront中的内容无效
>更改所投放资产的名称

但是,当我改变

Rails.application.config.assets.version =’1.0′

Rails.application.config.assets.version =’2.0′

(在config / initializers / assets.rb中)

>删除公共/资产中的所有资产
>运行“RAILS_ENV =分段捆绑exec rake assets:precompile”

生成相同的文件名!

我发现使application.scss的消化文件无效的唯一方法添加一些虚拟内容,以激发新的md5校验和.

我究竟做错了什么?

不应该新的assets.version改变消化的文件名?

最好的问候!

解决方法

根据 the comments in the Rails pull request I opened,这是一个需要修正的回归: https://github.com/rails/sprockets-rails/issues/240

更新:as sansarp提到,该github问题中列出的其中一个解决方法是使用旧版本的链轮:

gem 'sprockets','< 3.0.0'

另一个解决方法是将资产路径用作缓存区段:

# config/initializers/assets.rb
Rails.application.config.assets.prefix = "/assets/v1"
原文链接:https://www.f2er.com/ruby/271481.html

猜你在找的Ruby相关文章