我正在使用 CakePHP 1.3 开发一个应用程序。一切正常,但有一个错误。当我redirect()
在我的.ctp
页面中使用它时会出错
Fatal error: Call to undefined method DebugView::redirect()
当我在控制器中使用它时,重定向工作正常。我在我的 AppController 中包含了如下助手
var $helpers = array('Html', 'Form','Session');
请帮助提前谢谢
我正在使用 CakePHP 1.3 开发一个应用程序。一切正常,但有一个错误。当我redirect()
在我的.ctp
页面中使用它时会出错
Fatal error: Call to undefined method DebugView::redirect()
当我在控制器中使用它时,重定向工作正常。我在我的 AppController 中包含了如下助手
var $helpers = array('Html', 'Form','Session');
请帮助提前谢谢
您永远不会在视图层中重定向(或输出任何标题)。使用控制器来执行此操作。然后,视图应该只根据所需的输出格式(html、xml、json、...)呈现输出。标头内容是控制器的响应和责任的一部分(在 2.x 中是响应类本身)。
因此,您观察到它将与控制器而不是内部视图一起使用是正确的。“调用未定义的方法”始终是在此范围内不可用的方法的一个很好的指标。重定向作为“逻辑”的一部分使它们仅在控制器和组件中可用。永远不会出现在视图中(所有逻辑发生后输出)。
在您的控制器中:
$this->redirect( 'url, absolute or relative here' );
完毕。