3

在一个动作中,我想通过重定向将发送参数发送到另一个动作。

因此,当我在文档中阅读此内容时(http://book.cakephp.org/3.0/en/controllers.html#redirecting-to-other-pages):

return $this->redirect(['action' => 'edit', $id]);

我写:

public function activate($user_id, $token) {

    //.... of course $user->username is not null here
    return $this->redirect(['action' => 'login', $user->username]);

    //....
}

在我的目标行动中:

public function login($username = null) {

    //...

    debug($username);  // just displays null

    //...
}

我不明白问题出在redirect() 还是login() 中。无论如何 debug($this->request) 不显示任何传递的参数。

问候,

4

1 回答 1

5

上面的代码只有在登录函数在同一个控制器中并且不需要返回的情况下才有效。否则我们还需要为重定向定义控制器。喜欢 :

$this->redirect(['controller'=>'YourController','action' => 'login', $user->username]);
于 2014-12-11T21:35:28.500 回答