2016-10-04 1 views
1

Когда я хочу, чтобы удалить элемент на GridView я получаю эту ошибку:yii2 Когда удаление GridView: Невозможно проверить ваше представление данных

exception 'yii\web\BadRequestHttpException' 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']); 
} 

И когда изменить метод пост для метода GET в функции модели поведения, я получаю эту ошибку

Method Not Allowed. This url can only handle the following request methods: GET. 

код GridView:

<?= GridView::widget([ 
    'dataProvider' => $dataProvider, 
    'filterModel' => $searchModel, 
       'columns' => [ 
        ['class' => 'yii\grid\SerialColumn'], 

        //'idDevis', 
        'reference', 
        'client', 
        'dateCreation', 
        'contact', 
        'valableJusqua', 
        'dateRelance', 
        [ 
        'attribute'=>'etat', 
        'filter'=>ArrayHelper::map(Devis::find()->asArray()->all(), 'etat', 'etat'), 
        ], 
        'commercial', 
        'modePaiement', 
        'delaiPaiement', 

        ['class' => 'yii\grid\ActionColumn'], 
       ], 
]); ?> 

любая идея пожалуйста !!

+0

Есть ли параметр CSRF в вашем представлении? – Bizley

+0

Я не думаю, что я не могу увидеть этот параметр –

+0

Теперь я получаю эту ошибку 'Method Not Allowed. Этот URL-адрес может обрабатывать только следующие методы запроса: POST.' –

ответ

2

Добавить метатег 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() ?> 

Here you can read more about CSRF.

+0

он работает, спасибо –

+0

Мощный ответ, искал столько мест. – Bira

Смежные вопросы