@OlegBas1996

CRUD YII2 проблема при удалении записи из таблицы?

Здравствуйте! Создаю админку , сгенировал CRUD через gii для таблицы users, прописал маршруты в файле web.php. При удалении записи из таблицы users осуществляет редирект на несуществующую страницу. Что интересно, для страниц добавления и обновления записи я не прописывал маршруты,и они работают. Помогите решить проблему.
  • Вопрос задан
  • 183 просмотра
Решения вопроса 1
webinar
@webinar Куратор тега Yii
Учим yii: https://youtu.be/-WRMlGHLgRg
Вы делаете return $this->redirect(['index']);
при этом правила url manager
'/' => 'site/index', 
                'article/short/<id:\d+>' => 'site/article/',
                'article/full/<id:\d+>' => 'site/fullarticle/',
                'addClick/<idClickBlock:\d+>' => 'site/addclick',
                'admin' => 'admin/default/',
                'admin/news' => 'admin/news/',
                'admin/tizers' => 'admin/tizer/',
                'admin/sections' => 'admin/section/',
                'admin/users' => 'admin/user/',

Какое правило по Вашему должно сработать, что бы отработал роут ['index']
При вашем конфиге, я так понимаю редирект должен выглядеть так:
public function actionDelete($id)
    {
        $this->findModel($id)->delete();
        return $this->redirect(['admin/news/]);
    }

Но возможно у Вас 404 еще до этого, еще на этапе поиска экшена удаления
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
'enableStrictParsing' => true, // чтобы "я не прописывал маршруты,и они работают."

Как вариант добавить базовые маршруты в самый конец rules, а более кастомные маршруты прописывать выше
// Base
'<action>' => 'site/<action>',
'<controller>/<action>' => '<controller>/<action>',
'<module>/<controller>/<action>/<id:\w+>' => '<module>/<controller>/<action>',
'<module>/<controller>' => '<module>/<controller>/index',
'<module>/<controller>/<action>' => '<module>/<controller>/<action>',
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы