ссылки уже не вида post/index?page=1, а вида post/delete?page=1. Отдебажив, нашел, что ссылка в пагинации генерируется в Pagination::createUrl в строке
Код: Выделить всё
$route = $this->route === null ? Yii::$app->controller->getRoute() : $this->route;
Немножко закостылив в контроллере, принудительно присвоил $this->action->id = 'index'; чтобы роут формировался так, как нужно мне.
Код: Выделить всё
public function actionIndex()
{
$searchModel = new PostSearch;
$dataProvider = $searchModel->search( $_GET );
$params = [
'searchModel' => $searchModel,
'dataProvider' => $dataProvider
];
return Yii::$app->getRequest()->getIsAjax()
? $this->renderPartial( '_grid', $params )
: $this->render( 'index', $params );
}
public function actionDelete( $id )
{
$this->findModel( $id )->delete();
$this->action->id = 'index'; // костыль
return Yii::$app->getRequest()->getIsAjax()
? $this->actionIndex()
: $this->redirect( [ 'index' ] );
}
Что это: баг, фича, багофича? Я неправильно сделал? Более изящный костыль?