我有以下路由:
Router::connect('/admin/login/:to',
array('admin'=>true,'controller'=>'users','action'=>'login'),
array(
'to' => '[A-Za-z0-9'._-]+',
'pass' => array('to')
));
传递一个带有登录url的string/int。但是它不再使用to的命名参数。例如,不是得到:/admin/login/to:1AB
而是得到/admin/login/1AB
我如何保持命名参数,但仍然改变路由,从url中删除用户位?我试过:'/admin/login/to::to'
,但这似乎相当草率…
您可以在控制器的"$this->data"中找到传递的参数名称。在您的示例中:$this->data->to与您在url中输入的值相同。
删除该路由。当你想要命名参数时,为什么要有那个路由?
编辑:if so:
Router::connect(
'/admin/login/*',
array(
'admin' => true,
'controller' => 'users',
'action' => 'login'
)
);