0

删除一些数据后,我在重定向页面时遇到了一些麻烦。它以前有效,后来我添加了很多,所以我不知道是什么导致了这个问题。

这是通过烘焙生成的函数。奇怪的是该功能正常工作并正确删除了记录,但它只是停留在空白页面上。

public function delete($id = null) {
    $this->Visit->id = $id;
    if (!$this->Visit->exists()) {
        throw new NotFoundException(__('Invalid visit'));
    }
    $this->request->onlyAllow('post', 'delete');
    if ($this->Visit->delete()) {
        $this->Session->setFlash(__('Visit deleted'));
        $this->redirect(array('action' => 'index'));
    }
    $this->Session->setFlash(__('Visit was not deleted'));
    $this->redirect(array('action' => 'index'));
}

但是,当我将其更改为仅在函数调用时重定向时,它可以工作。删除有问题,我似乎无法弄清楚发生了什么。

 public function delete($id = null) {
    $this->Visit->id = $id;
    if (!$this->Visit->exists()) {
        throw new NotFoundException(__('Invalid visit'));
    }

    $this->Session->setFlash(__('Visit deleted'));
    $this->redirect(array('action' => 'index'));

}

我可以寻找什么?我的模型中没有关于重定向的任何内容

4

1 回答 1

0

我认为您必须添加控制器:

// http://book.cakephp.org/2.0/en/controllers.html

$this->redirect(array('controller' => '<YOUR CONTROLLER NAME>', 'action' => 'index'));

如果你想重定向到引用页面,你也可以试试这个

$this->redirect($this->referer());

对于未来的工作:你说“只是停留在空白页上”。你的调试级别是多少?如果它处于开发模式,则重定向不会自动完成,但有一个链接continue to redirect(文本可能相似,不要记住)。您可以查看目标是否可达,例如控制器操作是否存在。

于 2013-08-15T05:40:58.453 回答