0

在我正在创建的一个 yii 站点中,我有一个带有 url 的页面,该页面以http://localhost/administrator/restaurant/list 表格格式显示餐厅列表以及一个删除按钮。删除按钮指向http://localhost/administrator/restaurant/delete/<id>

我的actionDelete控制器如下:

public function actionDelete(){
        $model = Restaurants::model()->findByAttributes(
                                        array(
                                            'id'=>$_GET['id'],
                                            'clientId'=>Yii::app()->user->clientId
                                        ));
        $model->delete();
        Yii::app()->user->setFlash('success',Yii::t('error','Restaurant has been deleted successfully'));
        $this->redirect('restaurant/list',true);
    }

但是在单击删除按钮时,该行已从数据库中成功删除,但不是重定向到http://localhost/administrator/restaurant/list页面,而是重定向到http://localhost/administrator/restaurant/delete/restaurant/list并显示错误。我实现重定向功能的方式有问题吗?

4

1 回答 1

7

改用数组路由:

$this->redirect(array('restaurant/list'), true);

使用 GET 删除是一个非常糟糕的主意,因为浏览器甚至可以在您单击链接之前预取链接。对于这样的任何场景,您都应该使用 POST。

于 2012-05-20T07:11:50.617 回答