$self->redirect_to('named', foo => 'bar')
, utilizzato senza una barra precedente, fa riferimento alle rotte denominate e i parametri sono posizionati nei segnaposti della rotta.
Ogni percorso definito nell'applicazione viene assegnato per impostazione predefinita a un nome di percorso o è possibile assegnarli manualmente. (È anche possibile ottenere un elenco di percorsi assegnati utilizzando ./myapp routes
)
In un'applicazione lite:
action # route name
get '/named' => sub { ... }; # named
get '/named/:foo' => sub { ... }; # namedfoo
get '/named/:foo' => sub { ... } => 'something-else'; # something-else
Le seguenti reindirizza al get '/named/:foo'
azione:
$self->redirect_to('namedfoo', foo => 'bar')
Che è effettivamente la stessa :
$self->redirect_to('/named/bar');
È possibile accedere al valore di segnaposto all'interno dell'azione utilizzando -> param:
get '/named/:foo' => sub {
my $self = shift;
$self->render_text($self->param('foo'));
};
che rende il seguente codice HTML:
bar
Si potrebbe anche voler controllare: http://mojocasts.com/e2#Generic%20Placeholders
I Mojocasts sono molto cool :) –
Se voglio passare più dati alla pagina reindirizzata, dovrei usare '$ auto-> session -> {data => ['z']}' non dovrebbe? e accedere a quei dati nel controller di destinazione '$ auto-> sessione -> {data} [0]' #z –