为什么我的铁路线路突然工作方式不同?

时间:2010-05-26 15:11:41

标签: ruby-on-rails routing

我与托管服务提供商签订了VPS,最近他们决定升级服务器硬件并更改虚拟化软件。从那以后,我突然遇到了我的Rails应用程序中的一个路由问题。我的代码中没有任何东西应该改变(据我所知,并没有改变),我使用的所有宝石(包括Rails)都被出售。

问题似乎源于我有一个admin/journal控制器和一个admin/journal/export控制器。以前,我的路由工作原理如下:

>> r = ActionController::Routing::Routes
=> ...
>> r.recognize_path "/admin/journal/export/run"
=> {:controller=>"admin/journal/export", :action=>"run"} 

但是,自迁移以来,我的路由工作如下:

>> r = ActionController::Routing::Routes
=> ...
>> r.recognize_path "/admin/journal/export/run"
=> {:controller=>"admin/journal", :action=>"export", :id=>"run"} 

我将问题追溯到默认路由map.connect ':controller/:action/:id',并注释掉该路由将使我的路由再次工作。但是,自我的应用程序开始以来,该路由一直存在于我的路由文件中,之前从未引起过问题(我在开发环境中尝试过它,并且在那里工作正常)。

任何人都可以想到为什么路由突然无法将admin/journal/export识别为正确的控制器?

1 个答案:

答案 0 :(得分:0)

路线的排序是非常重要的,所以这就是我开始的地方......但是如果你说代码没有改变那么你可能只想把它归结为gremlins:)

Ruby的版本有没有改变? 1.8.6 - > 1.8.7之前给我带来了一些奇怪的问题。