我试图创建一条路线,但我很难让它发挥作用。
我有这个动作
// MembershipsController
public function professional_info($type = null, $member_id = null) {
// Work done here.
}
可以通过网址/memberships/professional-info/mytype/{user-id-here}
但是,我想将此网址更改为:
/mytype-professional-info/{user-id-here}
出于这个原因,我试图创建一个自动将mytype
作为第一个参数传递给professional_info
的路由,然后从url接受一个数字用户id,并将其作为第二个参数传递
我尝试了类似以下的内容:
Router::connect('/mytype-professional-info/:id',
array('controller' => 'memberships', 'action'=> 'professiona_info', 'mytype'),
array(
"pass" => array('id'),
"id" => '[0-9]+',
)
);
非常感谢。
答案 0 :(得分:0)
您已经定义了它将传递类型的路线,但作为第二个参数。
如果由于某种原因这是不可接受的,那么你必须明确地传递参数,但这只能使用命名元素:
Router::connect(
'/mytype-professional-info/:id',
array(
'controller' => 'memberships',
'action'=> 'professional_info',
'type' => 'mytype'
),
array(
'pass' => array('type', 'id'),
'id' => '[0-9]+',
)
);