Php Symfony2 URL匹配器在转换函数期间匹配控制器时抛出ResourceNotFound错误
我有一个错误,只发生在生产上。我有一个表单,它使用单选按钮更改应用程序的语言翻译。当用户选择en时,应用程序将更改为英语等 在生产中,切换单选按钮会引发错误:Php Symfony2 URL匹配器在转换函数期间匹配控制器时抛出ResourceNotFound错误,php,symfony,locale,translate,Php,Symfony,Locale,Translate,我有一个错误,只发生在生产上。我有一个表单,它使用单选按钮更改应用程序的语言翻译。当用户选择en时,应用程序将更改为英语等 在生产中,切换单选按钮会引发错误: Uncaught PHP Exception (ResourceNotFoundException) ... at ... app/cache/prod/appProdUrlMatcher.php:129 这一行只是抛出ResourceNotFoundException,但我看到的这一行: if (preg_match('#^/(?P&
Uncaught PHP Exception (ResourceNotFoundException) ... at ... app/cache/prod/appProdUrlMatcher.php:129
这一行只是抛出ResourceNotFoundException,但我看到的这一行:
if (preg_match('#^/(?P<_locale>[^/]++)/translate$#s', $pathinfo, $matches)) {
return $this->mergeDefaults(array_replace($matches, array('_route' => 'translate_language')), array ( '_controller' => 'Path\\ToMy\\Controller\\TranslateController::translateAction',));
}
有人能告诉我这里发生了什么吗?例外情况是,symfony找不到路线,这意味着在行动的路径上有一些输入错误。prod区分大小写。我不知道如何/在何处可以做到这一点。预匹配工作,模具在预匹配内工作。这将表明问题围绕着合并默认值?!它说symfony找不到此操作“Path\\ToMy\\Controller\\TranslateController::translateAction”
public function translateAction(Request $request)
{
$form = $this->createTranslateForm();
$form->handleRequest($request);
if ($request->getMethod() == 'POST') {
$data = $request->request->get('translate-form');
$language = $data['language'];
$this->get('session')->set('_locale', $language);
$referRoute = $this->getRefererRoute();
$url = $this->get('router')->generate($referRoute, array('_locale' => $language));
return $this->redirect($url);
}
}