gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 23:48:56 24 4
gpt4 key购买 nike

我有一个 Rails 4.2.4 (Ruby 2.2.2) 应用程序,我通过 Cloudfront 提供静态 Assets 。

如果 Cloudfront 提供您不想要的服务,则有两种可能性:

  • 使 Cloudfront 中的内容无效或
  • 更改服务的 Assets 名称

  • 然而,当我改变

    Rails.application.config.assets.version = '1.0'



    Rails.application.config.assets.version = '2.0'

    (在 config/initializers/assets.rb 中)


  • 删除public/assets中的所有 Assets
  • 运行“RAILS_ENV=staging bundle 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

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

    gem 'sprockets', '< 3.0.0'

    另一种解决方法是使用 Assets 路径作为缓存断路器:
    # config/initializers/assets.rb
    Rails.application.config.assets.prefix = "/assets/v1"

    关于ruby-on-rails-4 - Rails 4.2 Rails.application.config.assets.version 不会使摘要 Assets 文件名无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548755/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com