Как сделать на Yii2 добавление записи в связанную таблицу, используя pjax?
Открываю для просмотра запись таблицы, ниже полей записи, вывожу GridView с записями из связанной таблицы. Теперь хочу ниже этой таблицы добавить поля формы для её быстрого дополнения. Какие варианты не пробую, все приводят к перезагрузке страницы. Или единственный вариант, использовать ajax для отправки формы, а потом вызывать обновление грида через pjax?
Смотрите логи, какой запрос летит и что там происходит. Вариантов много или форма не цепляется pjax-ом и шлет обычный post или в контроллере редирект идет или ошибка или таймаут и pjax после истечения его шлет обычный запрос.
Сейчас идёт просто вызов action ActiveForm.
Можешь написать порядок, как правильно?
- обернул ActiveForm pjax'ом
- ?? что прописать в action формы (метод create контроллера связанной модели, или перенести сохранение в index контроллера, или оставить пустым и сделать сохранение в методе view текущего контроллера)
- ?? как вызвать обновление грида при удачном сохранении.
Обворачивать надо то что обновляется, видимо грид. А форма может быть за пределами pjax, а в pjax есть formSelector в котором указываешь селектор формы, отправку которой надо перехватывать: https://www.yiiframework.com/doc/api/2.0/yii-widge...
Экшен, который принимает форму должен возвращать кусок html или целую страницу, главное что бы в ней был блок с id таким же, как прописан в pjax, он ищет его в ответе сервера и берет содержимое, потом ищет такой же на странице и вставляет в него.