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.

Reply via email to