2012-02-08 55 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