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@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@gmail.com> *À: *"Perl Dancer users mailing list" <dancer-users@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@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@gmail.com> *À: *"Perl Dancer users mailing list" <dancer-users@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@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@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users
_______________________________________________ dancer-users mailing list dancer-users@dancer.pm http://lists.preshweb.co.uk/mailman/listinfo/dancer-users