Open Erwane opened 5 years ago
I'm not sure about this, but this PR fix my problem ;)
To clarify a bit, the issue occurs when you have an URL that can be respond to both GET and POST request, and you have a GET "version" in the navigation bar?
The issue occur when you have a GET
only route, used in navbar, but you do a POST
or PUT
on form with error (no redirect).
The request is POST
and the navbar route only exist in GET
, this thrown a Route Not Found
As i said in PR, maybe we can check and compare only route who match the current method
This is a (multiple allowed):
[x] bug
[ ] enhancement
[ ] question
CakePHP Version: 3.8.0
Plugin Version/Branch: holt59/cakephp3-bootstrap-helpers dev-4.0.1-alpha 00ba937
What you did
What happened
Thrown a route not found exception
What you expected to happen
find the route ;)
explanation
my route is a get only :
$routes->get('/queue', ['controller' => 'Emails', 'action' => 'queue'], 'route.name');
and is in the "top menu"When i submit a form (POST, PATCH, PUT), the UrlComparerTrait create a Request with normalized url :
$url = Router::parseRequest(new ServerRequest($this->_removeRelative($url)));
But this request construction use the current environment and set the method to POST. The route.name with POST method don't exists.