4

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

4

1 回答 1

4

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

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 声明或加载它

于 2013-07-20T02:42:15.750 回答