Страница 1 из 1

Неправильный редирект при удалении

Добавлено: 2019.05.22, 17:43
crows
Столкнулся с такой проблемой: после удаления сущности у меня редирект на index action срабатывает во всех браузерах (Chrome, FF, IE 11) без проблем. Но, у заказчика в FF и IE 11 после удаления сущности, идет редирект на action delete. И, из-за того что уже сущность удалена, он видит ошибку 404. То есть, action delete вместо редиректа на index action, редаректится сам на себя. Сущности уже нет, она удалена, возникает 404 ошибка.

Контроллер:

Код: Выделить всё

    public function actionDelete($id)
    {
        $this->findModel($id)->delete();
        Yii::$app->session->setFlash('success', "The cable has been deleted successfully.");

        return $this->redirect(Url::to(['/admin/cables/index']));
    }
Пробовал:

1) return $this->redirect(Url::to(['/admin/cables/index']));
2) return $this->redirect(Url::to(['index']));
3) return $this->redirect(['index']);
4) return $this->redirect(Yii::$app->request->referrer);
5) ставить Yii::$app->end после редиректа

Ничего не помогает...

Re: Неправильный редирект при удалении

Добавлено: 2019.05.22, 23:30
Dominus
А если так

Код: Выделить всё

return $this->redirect(['cables/index']);
или так

Код: Выделить всё

return Yii::$app->response->redirect(['/cables/index']);

Re: Неправильный редирект при удалении

Добавлено: 2019.05.24, 12:37
NeverDie

Код: Выделить всё

return $this->redirect(['index']);
Если нужен экшн в том же контроллере.

Код: Выделить всё

return $this->redirect(['/admin/cables/index']);
Полный путь до нужного экшена

Код: Выделить всё

return $this->redirect(['/admin/cables/index', 'id'=>$model->id]);
С параметрами.