2011-07-09 51 views
0

路由器我有这样的路由器:HTML的“链接不把正确的链接根据与CakePHP的

Router::connect 
(
    ':renting/:model_name/:number_name/', 
    array('controller' => 'cars', 'action' => 'view'), 
    array(
    'pass' => array('renting', 'model_name', 'number_name'), 
    'renting' => 'renting' 
) 
); 

当我这样做在一个视图中

$html->link("NAME", 
    array(
    'controller' => 'cars', 
    'action' => 'view', 
    'renting', 
    $model_name, 
    $number_name 
) 
); 

我获得了这个链接页:mypage.com/cars/view/renting/mustang/03212xd

,我需要获得mypage.com/renting/mustang/03212xd

林陷在这里。谢谢。注意:muypage.com/renting/mustang/03212xd重定向到我的控制器功能,但不使用$html->link功能。

回答

1

如果你的名字你的参数,你需要命名参数:

array(
    'controller' => 'cars', 
    'action'  => 'view', 
    'renting'  => 'renting', 
    'model_name' => $model_name, 
    'number_name' => $number_name 
) 

如果:renting总是'renting',你不需要将其参数化:

Router::connect('/renting/:model_name/:number_name/', 
       array('controller' => 'cars', 'action' => 'view', 'renting'), 
       array('pass' => array('model_name', 'number_name'))); 

$html->link(…, array(
    'controller' => 'cars', 
    'action'  => 'view', 
    'renting', 
    'model_name' => $model_name, 
    'number_name' => $number_name 
)); 
+0

非常感谢你。我在文档中没有看到任何示例。 – dlopezgonzalez