[dancer-users] Route dispatch

Alex C calyx238 at gmail.com
Fri Dec 28 17:46:16 GMT 2012


Now I understand what you mean. I also separate my routes into differnet
modules, like this:

# in MyApp::Controller

hook before {  var foo => 'bar'  };

get '/' => \&MyApp::Controller::Root;

# MyApp::Controller::Root

get '/' => sub {
    my $var = vars->{foo};
    ...
};

I have yet to play with Dancer 2 but I expect I will have the same problems
as you!

I hope there is an easy solution to this or I cannot migrate to Dancer 2.


On 28 December 2012 17:37, Celogeek <me at celogeek.com> wrote:

> this doesn't work with Dancer2 due to context.
> the hook is for route in App::Main
> so it doesn't fire with the App::Root routes
>
>
> ------------------------------
> *De: *"Alex C" <calyx238 at gmail.com>
> *À: *"Perl Dancer users mailing list" <dancer-users at dancer.pm>
> *Envoyé: *Vendredi 28 Décembre 2012 18:33:57
> *Objet: *Re: [dancer-users] Route dispatch
>
> Sorry I have no experience with Dancer 2 or multiple contexts.
>
> This works on Dancer 1, if it is any help:
>
> #!/usr/bin/env perl
>
> use Dancer;
>
> {
>     package App::Main;
>     use Dancer ':syntax';
>     hook before => sub { var xxx => "test" };
>     1;
> }
>
> {
>     package App::Root;
>     use Dancer ':syntax';
>     get "/" => sub { return vars->{xxx} };
>     1;
> }
>
> start;
>
> Good luck..
>
> On 28 December 2012 17:25, Celogeek <me at celogeek.com> wrote:
>
>> it's just a not working short example :)
>>
>> but Dancer use context, so in my App::Main I have a before hooks that
>> only apply to the route present in App::Main.
>>
>> So my App::Root doesn't have it. And it was the case in Dancer 1.
>>
>> I need to fully change my apps to make it work with Dancer2
>>
>> ------------------------------
>> *De: *"Alex C" <calyx238 at gmail.com>
>> *À: *"Perl Dancer users mailing list" <dancer-users at dancer.pm>
>> *Envoyé: *Vendredi 28 Décembre 2012 18:18:12
>> *Objet: *Re: [dancer-users] Route dispatch
>>
>> Yuo are missing the semicolons after your sub declarations. Try it agian
>> ;)
>>
>> On 28 December 2012 15:57, Celogeek <me at celogeek.com> wrote:
>>
>>> Can I dispatch my root thought multiple module ?
>>>
>>> I have in App::Main :
>>>
>>> hook before => sub {
>>> var xxx => "test";
>>> }
>>>
>>> and in App::Root;
>>>
>>> get "/" => sub {
>>>  return vars->{xxx}
>>> }
>>>
>>> But vars seems empty.
>>>
>>> In my bin/app.psgi I have :
>>>
>>> use Dancer;
>>> use App::Main;
>>> use App::Root;
>>>
>>> start;
>>>
>>>
>>>
>>> _______________________________________________
>>> dancer-users mailing list
>>> dancer-users at dancer.pm
>>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>>>
>>>
>>
>> _______________________________________________
>> dancer-users mailing list
>> dancer-users at dancer.pm
>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>>
>>
>> _______________________________________________
>> dancer-users mailing list
>> dancer-users at dancer.pm
>> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>>
>>
>
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>
>
> _______________________________________________
> dancer-users mailing list
> dancer-users at dancer.pm
> http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.preshweb.co.uk/pipermail/dancer-users/attachments/20121228/84a4b7c1/attachment.htm>


More information about the dancer-users mailing list