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, [email protected] 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 [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/mojolicious.
For more options, visit https://groups.google.com/d/optout.