/** * This method returns a default action where to send the form if none was * excplicit setted via Form::setAction() * * @param \FormObject\Form $form * @return string **/ public function setActionUrl(Form $form) { $current = explode('/', rtrim($this->urlProvider->currentUrl(), '/')); $lastSegment = array_pop($current); if (in_array($lastSegment, ['create', 'edit'])) { $parentUrl = implode('/', $current); $form->setAction($parentUrl); } if ($lastSegment == 'create') { $form->setVerb('post'); } elseif ($lastSegment == 'edit') { $form->setVerb('put'); } }