-1

CakePHP 1.3 でアプリケーションを開発しています。すべて正常に動作していますが、エラーが 1 つあります。redirect()私の.ctpページで使用するとエラーが発生します

 Fatal error: Call to undefined method DebugView::redirect()

コントローラーで使用するとリダイレクトが正常に機能するため。AppController に次のようなヘルパーを含めました

  var $helpers = array('Html', 'Form','Session');

事前に感謝を助けてください

4

2 に答える 2

3

ビューレイヤーでリダイレクト(または可能であればヘッダーを出力)することはありません。これを行うには、コントローラーを使用します。ビューは、目的の出力形式(html、xml、json、...)に従ってのみ出力をレンダリングする必要があります。ヘッダーのものは、コントローラー(および2.xでは応答クラス自体)の応答と責任の一部です。

したがって、ビューの内部ではなくコントローラーで機能するというあなたの観察は正しいです。「未定義のメソッドの呼び出し」は、このスコープで使用できないメソッドの良い指標です。「ロジック」の一部であるリダイレクトは、コントローラーとコンポーネントでのみ使用可能になります。ビューに表示されることはありません(すべてのロジックが発生した後の出力)。

于 2013-02-14T11:41:41.760 に答える
0

コントローラーで:

$this->redirect( 'url, absolute or relative here' );

終わり。

于 2013-02-14T14:04:10.890 に答える