my $order = $r->any('/order')->to(controller => 'order');
$order->get('/')->to(action => 'index');
$order->post('/find')->to(action => 'find');
$order->get('/edit/:id')->to(action => 'index');
$order->get('/edit/:id(*tab)')->to(action => 'index', title => 'Auftrag bearbeiten')->name('order_edit');
in Order::find I then have :
...
return $self->redirect_to('order_edit', id => $order->id) if $order;
which works fine in 7.33
After upgrading to 8.29 it doesn't work any more, instead I get
[Mojolicious::Routes ] Routing to controller "Eller::Controller::Order" and action "find"
[Mojolicious::Controller ] 302 Found (0.089613s, 11.159/s)
[Mojolicious ] GET "/order/edit/243"
Changing my routes to:
my $order = $r->any('/order')->to(controller => 'order');
$order->get('/')->to(action => 'index');
$order->post('/find')->to(action => 'find');
$order->get('/edit/:id')->to(action => 'index')->name('order_edit');
$order->get('/edit/:id(*tab)')->to(action => 'index', title => 'Auftrag bearbeiten');
again works, yet, this isn't exactly the same.
I couldn't find any hints in the release notes, that sth. has changed for the routing.
"routes -v" gives
+/order .... * order ^\/order
+/ .... GET ^/?(?:\.([^/]+))?$
+/find .... POST find ^\/find/?(?:\.([^/]+))?$
+/edit/:id .... GET editid ^\/edit/([^/.]+)/?(?:\.([^/]+))?$
+/edit/:id(*tab) .... GET "order_edit" ^\/edit/([^/.]+)/?(?:\.([^/]+))?$
for both 7.33 and 8.29
Any idea?
Rolf