【问题标题】:Rails asset path differs between asset_path and stylesheet_link_tagRails 资产路径在asset_path 和stylesheet_link_tag 之间不同
【发布时间】:2021-11-21 05:17:52
【问题描述】:

在 Rails 6 开发环境中使用 Sprocket,stylesheet_link_tag('mobile') 生成:

<link rel=\"stylesheet\" media=\"screen\" href=\"/assets/mobile.debug-2c11e2473c793c2475ab3559e38e0b0331956e570b884642ecbe1f21fa2467f1.css\" />

但是stylesheet_path('mobile') 生成:

"/assets/mobile-ea85a9ecd4c09607a4f2d7dbfeb5e145cdb4ce2033726041472418be82c104ae.css"

在开发服务器上,这两个资产路径都呈现相同的内容。

但我需要在服务人员中缓存正确的资产路径。如何生成与 stylesheet_link_tag 助手生成的资产路径相匹配的资产路径?

(我可以避免使用 stylesheet_link_tag 助手,但大概我在这里遗漏了一些东西)

【问题讨论】:

    标签: ruby-on-rails rails-sprockets


    【解决方案1】:

    不同之处在于,当config.assets.debug 为真时,Sprockets 将资产分离到单独的文件中以包含在内 - 这是开发环境中的默认设置。

    遗憾的是,通过将调试标志设置为 false 来为单个 stylesheet_link_tag 关闭此标志的选项被破坏 - 请参阅此拉取请求: https://github.com/rails/sprockets-rails/pull/424

    解决方法是将开发环境的config.assets.debug 设置为false,如果我们需要调试特定资产,则使用stylesheet_link_tag( 'mobile', debug: true )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-15
      相关资源
      最近更新 更多