【问题标题】:Setting Custom Headers for Assets in Rails on Heroku Cedar在 Heroku Cedar 上为 Rails 中的资产设置自定义标头
【发布时间】:2013-07-08 08:07:19
【问题描述】:

我有一个使用 Rails 4.0 和资产管道的 cedar 应用程序。我想为资产管道中的所有资产设置自定义标头。如何做到这一点?

【问题讨论】:

  • 哪种标题?

标签: ruby-on-rails heroku asset-pipeline


【解决方案1】:

一种简单的方法是使用机架插件,如下所示:

class RackAssetFilter
   def initialize app
      @app = app
   end

   def call env
      @status, @headers, @body = @app.call env
      if env['PATH_INFO'].starts_with?( "/assets/" )
         @headers['X-Header-1'] = 'value'
         # ... 
      end
      return [@status, @headers, @body]
   end
end

要启用它,在 application.rb 中:

config.middleware.insert_before( ActionDispatch::Static, RackAssetFilter )

请记住,在将 RackAssetFilter 插入到 application.rb 中的中间件堆栈之前,您需要通过 require 声明或加载它

【讨论】:

    猜你喜欢
    • 2012-02-05
    • 2011-09-20
    • 1970-01-01
    • 2011-12-25
    • 2011-09-21
    • 2017-11-12
    • 1970-01-01
    • 1970-01-01
    • 2012-01-12
    相关资源
    最近更新 更多