{{ form_start(form) }}
{{ form_widget(form) }}
<input type="submit" class="btn" value="Create" />
{{ form_end(form) }}
/update
, вместо /edit
. Пользователь может обновить страницу или просто отдать ссылку другому. Соответственно работать не будет, т.к. запрос станет GETРоли (точнее иерархию ролей) вам в любом случае указывать в security.yaml
class PageController extends AbstractController
{
/**
* @Route(path="/{pageSlug}", name="page_show")
*/
public function showAction(MetadataProvider $metadataProvider, Request $request, Page $page)
{
$controller = $metadataProvider->getController($page);
return $this->forward($controller, [
'page' => $page,
], $request->query->all());
}
/**
* @Route(path="/{pageSlug}/{parameters}", name="page_item", requirements={"parameters": ".+"})
*/
public function itemAction(ContainerInterface $pageMatchers, Request $request, Page $page)
{
$urlMatcher = $pageMatchers->get($page->getType());
try {
$parameters = $urlMatcher->match($request->getPathInfo());
} catch (ResourceNotFoundException $e) {
throw $this->createNotFoundException('No route for '. $request->getPathInfo());
} catch (MethodNotAllowedException $e) {
throw $this->createNotFoundException('Method '. $request->getMethod() .'not allowed for '. $request->getPathInfo());
}
return $this->forward($parameters['_controller'], $parameters, $request->query->all());
}
}