У меня есть 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
в качестве правильного контроллера?