我有一个使用Rails 4.0和资产管道的雪松应用程序。我想为资产管道中的所有资产设置自定义标头。怎么办呢?
答案 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