Zend フレームワーク 2 で子ルートをリダイレクトする際に問題が発生しました。コントローラーとアクションにアクセスできますが、リダイレクト中にパラメーター「id」が見つからないというエラーがスローされます。
'admin' => array(
'type' => 'segment',
'options' => array(
'route' => '/admin[/][:action][/:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Admin\Controller\Admin',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'settings' => array(
'type' => 'Segment',
'may_terminate' => true,
'options' => array(
'route' => '/general[/][:action][/][:id]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id' => '[0-9]+',
),
'defaults' => array(
'controller' => 'Admin\Controller\Settings\General',
'action' => 'index',
),
),
),
),
),
以下のようなルートへのリダイレクトを指定しました。
return $this->redirect()->toRoute('admin/settings');
しかし、それはエラーをスローし、
Missing parameter "id"