致命错误:调用未定义的方法View :: redirect()cakephp

时间:2013-02-14 11:09:43

标签: cakephp cakephp-1.3

我正在CakePHP 1.3中开发一个应用程序。一切都很好,但有一个错误。 当我在redirect()页面中使用.ctp时,会出现错误

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

当我在控制器中使用它时,重定向工作正常。 我在AppController

中包含了如下帮助器
  var $helpers = array('Html', 'Form','Session');

请帮忙 提前谢谢

2 个答案:

答案 0 :(得分:2)

您永远不会在视图层中重定向(或输出任何标题,如果可能)。 使用控制器执行此操作。 然后视图应该只根据所需的输出格式(html,xml,json,...)呈现输出。标题内容是控制器的响应和责任的一部分(在响应类本身的2.x中)。

所以你观察它将适用于控制器而不是内部视图是正确的。 “调用未定义的方法”始终是此范围内不可用的方法的良好指示器。 重定向是“逻辑”的一部分,使它们仅在控制器和组件中可用。永远不要在视图中(在所有逻辑发生后输出)。

答案 1 :(得分:0)

在您的控制器中:

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

完成。