「Missing View」のエラーがでる時なんかは、継承しているAppControllerのbeforeFilterが2回以上呼ばれていることがわかった。
また、それぞれのControllerでbeforeFilterを完全に上書きoverrideしている時でも(つまり、parent::beforeFilter();を書かないケース)、Missing View等のエラー画面を出すのにAppControllerのbeforeFilterが呼ばれてしまう。(せっかく完全上書きしてAppControllerのbeforeFilterを使わないようにしているのに)
具体的に言うと、AppControllerでは各Controllerで共通で使う、cookieを使った自動ログイン処理を入れたりするが、UserControllerだけはlogout処理等があるため自動ログインしたくない場合などに困る。(logout処理した直後に自動ログイン処理が走ってしまう。cookieはresponseが完了するまで反映されないため)
0 件のコメント:
コメントを投稿