@agent1156

Как удалить CRUD?

Захожу в админку, показывает список из базы данных. View работает update работает, нажимаю на удить и выскакивает bad request (#400) ПОЧЕМУ ?

public function actionDelete($id)
{
$this->findModel($id)->delete();

return $this->redirect(['index']);
}
  • Вопрос задан
  • 224 просмотра
Пригласить эксперта
Ответы на вопрос 3
Akdmeh
@Akdmeh
PHP, Yii2, Music
Потому что в CRUD стоит удаление только методом POST (посмотрите пример генератора, там видно, в каком формате должна быть ссылка, чтобы удалить запрос). Это сделано от CSRF-атак.
Что делать?
1) Или переходить только по той ссылке, которая делает AJAX-запрос на удаление (смотрите стандартный код после генератора)
2) Удалите behavior VerbFilter, но это - очень нежелательно, так как снижает безопасность приложения
Ответ написан
bitver
@bitver
У вас разрешен только post на удаление, соответственно ссылки должны отправлять post запрос.
Если делать через get, то первый же поисковик удалит все нафиг, так как будет заходить по этим ссылкам. (если есть туда открытый доступ)
Ответ написан
Комментировать
@agent1156 Автор вопроса
А как это сделать технически?
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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