я получаю сообщение об ошибке при удалении записи во всей таблице:
An Error occurred while handling another error:
exception 'yii\web\ForbiddenHttpException' with message 'You are not allowed to perform this action.' in D:\FORBIDDEN\projects\UniServerZ\www\project\vendor\yiisoft\yii2\filters\AccessControl.php:151
Stack trace:
Previous exception:
exception 'yii\web\MethodNotAllowedHttpException' with message 'Method Not Allowed. This url can only handle the following request methods: POST.' in D:\FORBIDDEN\projects\UniServerZ\www\project\vendor\yiisoft\yii2\filters\VerbFilter.php:105
Stack trace:
_
вот мой контроллер:
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['POST'],
],
],
];
}
public function actionDelete($id)
{
$this->findModel($id)->delete();
return $this->redirect(['index']);
}
и моя кнопка удаления в view.php
<?= Html::a('Delete', ['delete', 'id' => $model->id_transaksi], [
'class' => 'btn btn-danger',
'data' => [
'confirm' => 'Are you sure you want to delete this item?',
'method' => 'post',
],
])
?>
это работает, когда я заменил POST на GET, но предупреждение не работает ..
ты знаешь что не так? Помогите, пожалуйста
Возможно, вы получили сообщение об ошибке
Method Not Allowed. This url can only handle the following request methods: POST.
потому что каким-то образом браузер перезагружает страницу с запрошенным URL. Когда вы нажимаете на ссылку, чтобы удалить эту модель, метод запроса POST, как это указано. В этот момент возникает некоторое исключение (похоже, связанное с правилами доступа), которое заставляет браузер простить метод запроса.
public function behaviors()
{
return [
'verbs' => [
'class' => VerbFilter::className(),
'actions' => [
'delete' => ['post'],//not POST
],
],
];
}
опечатка, надеюсь, это поможет
ref.link
http://www.yiiframework.com/doc-2.0/yii-filters-verbfilter.html