1

このコードを持っていますが、フラッシュメッセージが正しく表示されません。

メッセージを次の場所に表示したい:

http://xxx/cake/ ----(add action)

しかし実際には、メッセージは次のように表示されます。

http://xxx/cake/users/ ----(index action)

どうすればこれを解決できますか?アクティベーションの見方はありません。追加アクションにリダイレクトし、その後にフラッシュメッセージを表示したいだけです。


class UsersController extends AppController {

    public function index() {
        $this->User->recursive = 0;
        $this->set('users', $this->paginate());
    }

    public function add() {

    }

    public function activation() {
        $email = $this->request->query['email'];
        $codeLink = $this->request->query['code'];

        if($this->User->activationAccount($email, $codeLink)) {
            $this->Session->setFlash(__('Success'));///should be shown in add
            $this->redirect(array('action' => 'add'));
        }
        else {
            $this->Session->setFlash(__('Error.'));//should be shown in add
            $this->redirect(array('action' => 'add'));
        }
    }
}

ルート.php

Router::connect('/', array('controller' => 'users', 'action' => 'add'));
4

2 に答える 2

0

このセッションを破棄するだけです:

array
  'fb_400xxxxxxx96_state' => string 'ce3xxasdxxxxxxasdasdxxxxxxxf' (length=32)

    public function add() {
        $this->Session->destroy();

        //some code

    }
于 2012-08-16T21:55:16.533 に答える
0

これをカバーするこのチュートを見る必要があるかもしれません

于 2012-08-19T17:04:06.213 に答える