CakePHP 2.x自定义路由与参数

时间:2012-10-08 09:23:53

标签: cakephp parameters routing arguments routes

在我的CakePHP应用程序中,我想在自定义路径中传递参数。

现在有效

  

(域/控制器/动作/ PARAM)

domain.com/dealers/view/1

我想做什么

  

(域/ PARAM /控制器/动作/ PARAM)

domain.com/washington/dealers/view/1

这是我在routes.php中的代码:

Router::connect('/:city/dealers/view/:id', array('controller' => 'dealers', 'action' => 'view'), 

    array(
        'pass' => array('city', 'id')
        ),

    array('city' => '[a-z]+')
    );

这只是将 domain.com/washington/dealers/view/1 重定向到 domain.com/dealers/index ,原因很明显我没有正确通过参数。有谁知道我错过了什么?

1 个答案:

答案 0 :(得分:2)

city不应该在单独的数组中:

Router::connect(
   '/:city/dealers/view/:id', 
   array('controller' => 'dealers', 'action' => 'index'),
   array(
    'pass' => array('city', 'id'),
    'city' => '[a-z]+'
));