0

ユーザー登録の前にいくつかの予備情報を収集することになっているコントローラーアクションがあります(注意してください、私はまだ認証を接続していません、セキュリティplzで誰もバグアウトしていません!)そして適切なコントローラーアクションにリダイレクトしますが、私はデータの配列全体を渡す方法がわかりません。私は疲れすぎて、ここでフェイスパームに目覚める可能性がありますが、誰かが私を正すことができれば、私はそれを感謝します.

public function register() {
        if ($this->request->is('post')) {
            if ($this->request->url == "users/register") {
                $data = $this->request->data('Registration');
                switch($data['UserType']) {
                    case "student_reg":
                    /* I've tried this, and it feels right.. do have I to stop autorender or something? */
                        $this->studentReg($data);
                    break;
                    case "educator_reg":
                    /* and this: */
                        $this->redirect(array("action" => "educatorReg", "params" => $data));
                    break;
                    /* ... and so on.... */
                }
            }
        }
        $this->loadModel("Account");
        $accounts = $this->Account->find( 'all');
        $provinces = Hash::combine($accounts, '{n}.Account.province_id', '{n}.Province.name');
        $this->set(compact('accounts','provinces'));
    }

public function studentReg($data) {// and so forth
4

1 に答える 1

1

するだけならreturn $this->studentReg($data);大丈夫なはずです。別のビューが既にレンダリングされている場合、Cake は別のビューをレンダリングすべきではありません。

于 2013-10-25T22:34:55.643 に答える