1

我想连接以下路线:

注册/about_you

我的个人资料/编辑/about_you

……同一个动作。但我希望第二条路由引入一个参数,我可以用它来识别我们在编辑页面上,而不是注册。

我目前在我的 routes.php 中:

Router::connect('/register/:action/*',
    array(
        'controller' => 'registration'
    )
);

Router::connect('/my_profile/edit/:action/*',
    array(
        'controller' => 'registration',
        'edit' => 1
    )
);

这可以将上面的 URL 连接到正确的位置 - 我可以$this->params['edit']在控制器中使用。但是,当我尝试建立链接时,使用

Router::url(array('controller' => 'registration', 'action' => 'about_you', 'edit' => 1, $i));

我明白了

/register/about_you/0/edit:1

代替

/my_profile/edit/about_you

我究竟做错了什么?

4

1 回答 1

2

你有没有尝试像这样交换它?

Router::connect('/my_profile/edit/:action/*',
    array(
        'controller' => 'registration',
        'edit' => 1
    )
);
Router::connect('/register/:action/*',
    array(
        'controller' => 'registration'
    )
);

如果是这样,你会得到 /my_profile/edit/about_you/0

于 2014-02-11T12:00:59.037 回答