Итак, мне удалось создать собственный генератор.
В соответствии с тем фактом, что вы предоставляете массив («parent_controller» => «child_controller»).
Таким образом, вы можете создать для супергероя => супердержавы
супергероев/1/супердержавы/(здесь с или withouth ид в соответствии с вашими путями.
Args mappeds к методу арг так индекс функции ($ superhero_id)
function generateNestedResources($array)
{
foreach($array as $key=>$value)
{
//Index -GET/
Router::connect('/'.$key.'/:'.$key.'_id/'.$value,
array('controller' => $value,'action' => 'index','method' => 'GET'),
array($key.'_id' => '[0-9]+','pass' => array($key.'_id')));
// View -GET /id
Router::connect('/'.$key.'/:'.$key.'_id/'.$value.'/:id',
array('controller' => $value,'action' => 'view','method' => 'GET'),
array('id' => '[0-9]+', $key.'_id' => '[0-9]+','pass' => array($key.'_id','id')));
//add -POST/
Router::connect('/'.$key.'/:'.$key.'_id/'.$value,
array('controller' => $value,'action' => 'add','method' => 'POST'),
array($key.'_id' => '[0-9]+','pass' => array($key.'_id')));
//edit -PUT/ID
Router::connect('/'.$key.'/:'.$key.'_id/'.$value.'/:id',
array('controller' => $value,'action' => 'edit','method' => 'PUT'),
array('id' => '[0-9]+', $key.'_id' => '[0-9]+','pass' => array($key.'_id','id')));
//delete -DELEte /ID
Router::connect('/'.$key.'/:'.$key.'_id/'.$value.'/:id',
array('controller' => $value,'action' => 'delete','method' => 'DELETE'),
array('id' => '[0-9]+', $key.'_id' => '[0-9]+','pass' => array($key.'_id','id')));
}
}
Не могли бы вы просто определить новый маршрут? – Evert