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