0

私が作成しているyiiサイトにはhttp://localhost/administrator/restaurant/list 、削除ボタンとともに表形式でレストランのリストを表示するURLのページがあります。削除ボタンはを指します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 に答える