加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails-4 – Rails 4.2 Rails.application.config.assets

发布时间:2020-12-16 19:36:36 所属栏目:百科 来源:网络整理
导读:我有一个Rails 4.2.4( Ruby 2.2.2)应用程序,我通过Cloudfront提供静态资产. 如果Cloudfront正在提供您不想要的东西,则有两种可能性: 使Cloudfront中的内容无效 更改所投放资产的名称 但是,当我改变 Rails.application.config.assets.version =’1.0′ 至 Ra
我有一个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"

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读