我不能创建一个使用URL视图助手时,父母和孩子的路线有共同/相同PARAMS适当的URL。
我的网址配置:
'contact' => array(
'type' => 'Segment',
'options' => array(
'route' => '/contact[/:contact][/action/:action]',
'constraints' => array(
'contact' => '[0-9]+',
'action' => '[a-zA-Z_-]+',
),
'defaults' => array(
'controller' => 'CrmContact',
'action' => 'index',
),
),
'may_terminate' => true,
'child_routes' => array(
'task' => array(
'type' => 'Segment',
'options' => array(
'route' => '/task[/:task][/action/:action]',
'constraints' => array(
'task' => '[0-9]+',
'action' => '[a-zA-Z_-]+',
),
'defaults' => array(
'controller' => 'CrmTask',
'action' => 'index',
),
),
),
)
)
因为很明显双方父母和孩子的路线包含参数“动作”的时候,当你击中“/联系人/ 1 /任务/ 1 /动作/编辑”浏览器都是神直接意味着所谓的这条路线工作完全正常。 尝试使用视图助手网址构建此网址时出现的问题
$this->url('contact/task', array('contact' => $contact->id,'task' => $task->id, 'action' => 'edit'))
这会产生错误的URL虽然,即
/contact/1/action/edit/task/1 instead of
/contact/1/task/1/action/edit
助手基本上劫持从孩子的路线行动PARAM并使用它的父路由...我不能停止使用帕拉姆“动作”,因为它是跨路由控制器方法要求的框架方式的一部分....