微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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.jb51.cc/ruby/271481.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐