2012-12-19 27 views
0

在Ruby on Rails 3.2.9中是否有攔截資產請求並重新映射請求的URL的方法。Rails 3.2.9攔截資產重新映射請求

例如,對於/assets/javascripts/app.js的請求,我想攔截請求並去掉javascripts /。我試着在application.rb中

config.asset_path = proc { |path| 
    path.slice! 'javascripts/' 
} 

回答

1

我不知道有任何辦法攔截請求資產和我高度懷疑有一個或有將永遠是一個都沒有。

僅僅因爲它不適用於編譯資產。如果資產位於另一臺完全不同的軟件堆棧的服務器上,該怎麼辦?例如,如果有人選擇在Amazon S3上託管資產,那麼請求如何被攔截?

如果您確實需要此功能,並且您自行託管您的資產,最好的方法就是配置您的Web服務器以重定向請求。

看一看Apache的RewriteEngine或者nginx的HttpRewriteModule。它們提供了URL重寫的機制。 (我猜大多數生產級網絡服務器也有類似的東西)