在动作中,我想通过重定向将发送参数发送到另一个动作。
所以当我在文档(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()中。无论如何调试($ this-> request)不显示任何传递的参数。
此致
答案 0 :(得分:5)
以上代码仅在登录功能位于同一控制器且您不需要返回时才有效。 否则我们需要为重定向定义控制器。喜欢:
$this->redirect(['controller'=>'YourController','action' => 'login', $user->username]);