-1

我正在使用 CakePHP 1.3 开发一个应用程序。一切正常,但有一个错误。当我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 回答