Thanks Stefan.
So, trying a different tack, I was able to parse the url of a request with a 'before_depatch' hook, and figure out what Customer Class should be used, before routing happens. Assuming the request url is /kwikemart/liquor/22, I figure out the customer name (kwikemart) like this: sub startup { my $self = shift; $self->hook( before_dispatch => sub { my $c= shift; $c->req->url->path =~ m#^/(\w+)/.+#; $customer = $1; } } The question is, where to store this $customer, so I can use it to specify the correct route later? I still don't quite get how Mojo::Base Class work. Not sure how to correctly create custom attribute, that's local to each request, so it can be used within a $r->to() call. On Wednesday, January 2, 2019 at 4:34:20 AM UTC-6, hwmbo...@gmail.com wrote: > > Hi. I want to route a request to a controller that's dynamically > constructed, base on a place holder in the url. To illustrate, I want do > something like the following: > > use Mojo::Base 'Mojolicious'; > > sub startup { > > my $r = $self->routes; > > my $route = $r->get('/:customer/boxs/:id'); > > > [ somehow, extract the :customer holder into a variable $customer, then ] > > $route->( > > controller => "$customer::boxs', > > action => 'get_list', > > ); > > } > > > I tried but can't seem to find way to this, and I'm not sure if this is > possible? > Some pointer is appreciated. Thanks. > > > > -- You received this message because you are subscribed to the Google Groups "Mojolicious" group. To unsubscribe from this group and stop receiving emails from it, send an email to mojolicious+unsubscr...@googlegroups.com. To post to this group, send email to mojolicious@googlegroups.com. Visit this group at https://groups.google.com/group/mojolicious. For more options, visit https://groups.google.com/d/optout.