Внутри вашего контроллера для /profile/edit
вы можете захватить страницу, с которой они пришли с $request->headers->get('referer')
.
Если /profile/edit
- это страница с одной формой, я бы, вероятно, просто добавил скрытое поле, в котором указано, куда должен идти перенаправление.
public function editAction(Request $request)
{
// If you have a POST value coming from the user, it will be used, otherwise
// assume this is the first time they landed on the page and grab the current
// referer. With this method it doesn't matter how many times they submit the form
// you won't accidentally overwrite the referer URL with /profile/edit. That could
// lead to a confusing loop.
$referer = $request->request->get('referer', $request->headers->get('referer'));
if ($formIsSaved)
{
return new RedirectResponse($referer)
}
return array(
// Your template should include a hidden field in the form that returns this.
'referer' => $referer,
);
}