2012-02-08 54 views
1

我正在從Rails 2.3.14應用程序升級到Rails 3.2.1 到目前爲止,唯一的問題是無法指定到我們遺留資產資源的路線。Rails 3傳統「資產」路線

配置/ application.rb中

config.assets.enabled = false 

以下作品(具有不正確的路徑):

resources :company_assets, :controller => 'assets', :as => :assets 

但是,當然,路徑爲「/ company_assets/*'

只要我嘗試將路徑設置爲'/ assets/*',則路由無法生成。通過「不能產生」,我的意思是運行:

rake routes | grep assets 

顯示我什麼。

下面是無法正確生成路線的例子:

resources :company_assets, :controller => 'assets', :as => :assets, :path => 'assets' 

# or 

resources :assets 

當我在Rails的控制檯閒逛,似乎有與資產相關的路線,但他們似乎等同於對指定:

resource :assets 

相反的:

resources :assets 

(注單數與PLU ral)

是否有可能在這裏保持向後兼容性而不會改變現有路徑?

回答

3

是的,這是可能的。

發生這種情況的原因是因爲Sprockets(處理資產管道)接管了/ assets路由。

您可以更改路由鏈輪加給你的application.rb用途:

config.assets.prefix  = "/x" 

其中x是新路線。

我在我的一個生產應用程序中執行此操作,因爲回形針將文件存儲在/ assets中。

升級提示:檢查升級後應用程序中的管道設置與last section of the asset pipeline guide中的管道設置。

+0

謝謝!我會深入研究這一點。 – GrooveStomp 2012-02-08 21:08:18