【问题标题】:Disabling asset fingerprinting with asset_path for a single asset使用asset_path为单个资产禁用资产指纹
【发布时间】:2012-01-22 09:06:41
【问题描述】:

我想使用正常的资产名称,例如app.js 在我看来调用 asset_path 助手时。在生产中,它使用缓存清除名称,例如app-f73cf13e6f100eda6681381e7d3ae9eb.js

有没有办法使用asset_path 获取正常名称?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 asset-pipeline


    【解决方案1】:

    想通了,其实很简单。只需像这样将digest: false 添加到asset_path:

    asset_path('app.js', digest: false)

    【讨论】:

    • 你把那个放在哪里了?
    • @AirWick219 什么意思?
    • code' background: url('select2.png'); <-- in my css file code`。我应该把它放在哪里,这样这张图片就不会被指纹印出来了?
    • @AirWick219 您可以将.erb 添加到您的.css 文件的扩展名中,然后使用ruby 助手,例如background: url:('<%= asset_path('app.js', :digest => false) %>');。这将首先通过 ERB 预处理器运行您的 css 文件。
    • @Aditya Sanghi 很遗憾你是对的。有什么方法可以禁用单个文件的摘要?
    【解决方案2】:

    默认 assets.digest 在生产环境中是启用的,推荐使用有几个原因。但是,如果您真的想禁用它,请将其写入您的 production.rb

    config.assets.digest = false  
    

    更多信息请参考http://guides.rubyonrails.org/asset_pipeline.html

    【讨论】:

    • 嗯,有什么办法只针对单个资产路径?我不想禁用其他人。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多