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

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

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

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。