У меня очень большие проблемы с пользовательскими операциями в рюкзаке Laravel. Документированная установка понятна, но отсутствует реальный образец с формой. В моем случае я хотел использовать механизм форм для создания формы для отношений.
Первый шаг, который я сделал:
public function getProtocoleForm($id)
{
// Config base
$this->crud->hasAccessOrFail('update');
$this->crud->setOperation('protocole');
//
$this->crud->addFields([
[ 'name' => 'codeCim',
'type' => 'text',
'label' => 'Code CIM',
],
]);
$this->crud->addSaveAction([
'name' => 'save_action_protocole',
'visible' => function($crud) {
return true;
},
'button_text' => 'Ajouter le procotole',
'redirect' => function($crud, $request, $itemId) {
return $crud->route;
},
]);
// get the info for that entry
$this->data['entry'] = $this->crud->getEntry($id);
$this->data['crud'] = $this->crud;
$this->data['saveAction'] = $this->crud->getSaveAction();
$this->data['title'] = 'Protocole ' . $this->crud->entity_name;
return view('vendor.backpack.crud.protocoleform', $this->data);
}
Это работает нормально, форма появляется на экране , затем я выполнил настройку почтового маршрута следующим образом:
Route::post($segment . '/{id}/protocolestore', [
'as' => $routeName . '.protocolestore',
'uses' => $controller . '@storeProtocole',
'operation' => 'protocole',
]);
Маршрут отображается правильно, когда я выполняю команду artisan, но функция storeProtocole
никогда не вызывается. Я проверил сгенерированный HTML, и действие формы правильное, и проверка на «сетевой» панели браузера также нацелена на правильный маршрут.
Можете ли вы мне помочь и сказать, где я что-то пропустил?
[Быстрое обновление] Я сделал ошибку, маршрут формы не подходит в HTML, он принимает маршрут главного контроллера.