#gridview #yii2 #delete-row #behavior
#gridview #yii2 #удалить-строка #поведение
Вопрос:
Когда я хочу удалить элемент в GridView, я получаю эту ошибку:
exception 'yiiwebBadRequestHttpException' with message 'Unable to verify your data submission.
Мой это мой код контроллера:
class DevisController extends Controller
{
public $layout = 'lay-admin';
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],
],
],
];
}
/* ..... */
public function actionDelete($id)
{
$this->findModel($id)->delete();
return $this->redirect(['index']);
}
И когда я меняю метод post на метод get в функции behaviors, я получаю эту ошибку
Method Not Allowed. This url can only handle the following request methods: GET.
Код GridView:
<?= GridView::widget([
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yiigridSerialColumn'],
//'idDevis',
'reference',
'client',
'dateCreation',
'contact',
'valableJusqua',
'dateRelance',
[
'attribute'=>'etat',
'filter'=>ArrayHelper::map(Devis::find()->asArray()->all(), 'etat', 'etat'),
],
'commercial',
'modePaiement',
'delaiPaiement',
['class' => 'yiigridActionColumn'],
],
]); ?>
любая идея, пожалуйста!!
Комментарии:
1. Присутствует ли параметр CSRF в вашем представлении?
2. Я не думаю, что я не вижу этот параметр
3. теперь я получаю эту ошибку
Method Not Allowed. This url can only handle the following request methods: POST.
4. Вставьте соответствующий код вашего gridview.
5. хорошо, я обновлю свой вопрос
Ответ №1:
Добавьте мета-тег CSRF в свой пользовательский файл макета.
Пример:
<?php $this->beginPage() ?>
<!DOCTYPE html>
<html lang="<?= Yii::$app->language ?>">
<head>
<meta charset="<?= Yii::$app->charset ?>">
<meta name="viewport" content="width=device-width, initial-scale=1">
<?= Html::csrfMetaTags() ?>
<title><?= Html::encode($this->title) ?></title>
<?php $this->head() ?>
</head>
<body>
<?php $this->beginBody() ?>
Комментарии:
1. Что делать, если у меня есть csrf, но я все равно получаю
bad request 400
удаление?