Почему мои рельсовые маршруты вдруг работают иначе? - PullRequest
0 голосов
/ 26 мая 2010

У меня есть 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 голосов
/ 18 августа 2010

Порядок следования маршрутов довольно значительный, поэтому я бы начал с этого ... но если вы скажете, что код не изменился, вы можете просто записать его как gremlins:)

Случайно ли изменилась версия Ruby? 1.8.6 -> 1.8.7 раньше вызывало у меня некоторые странные проблемы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...