посты удаляются только в базе
А где они еще должны удаляться?
браузер зависает
Вот тут yii не при чем.
public function actionDelete($id=NULL)
если сделать
public function actionDelete($id)
То yii и так будет ошибку кидать, так что первое условие лишнее, я про
if ($id === NULL)
{
Yii::$app->session->setFlash('PostDeletedError');
Yii::$app->getResponse()->redirect(array('site/index'));
}
И вообще Вы накрутили много лишнего, стандартный crud через gii делает нормальный экшен, Вы его даже в коде привели, останется только flash добавить:
public function actionDelete($id){
if (($post = Post::findOne($id)) and $post->delete())
{
Yii::$app->session->setFlash('PostDeleted');
}else{
Yii::$app->session->setFlash('PostDeleted');
}
return $this->redirect(['site/index']);
}