在Heroku Cedar上为Rails中的资产设置自定义标头

时间:2013-07-08 08:07:19

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

我有一个使用Rails 4.0和资产管道的雪松应用程序。我想为资产管道中的所有资产设置自定义标头。怎么办呢?

1 个答案:

答案 0 :(得分:3)

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

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 )

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