2012-03-08 13 views
5

ターゲットコントローラのfooの値。

答えて

9

$self->redirect_to('named', foo => 'bar')は、スラッシュなしで使用され、名前付きルートを参照し、パラメータはルートプレースホルダに配置されます。

アプリケーションで定義した各ルートには、デフォルトでルート名が割り当てられているか、手動で割り当てることができます。効果的に同じである

$self->redirect_to('namedfoo', foo => 'bar') 

get '/named/:foo'アクションへ

 
action # route name 

get '/named' => sub { ... }; # named 
get '/named/:foo' => sub { ... }; # namedfoo 
get '/named/:foo' => sub { ... } => 'something-else'; # something-else 

次リダイレクト:

liteのアプリで

(また./myapp routesを使用して割り当てられたルートのリストを取得することができます) :

$self->redirect_to('/named/bar'); 

プレースホルダの値には、使用してアクション - >のparam:

bar


あなたはまた、チェックアウトすることがあります:次のHTMLをレンダリング

get '/named/:foo' => sub { 
    my $self = shift; 
    $self->render_text($self->param('foo')); 
}; 

http://mojocasts.com/e2#Generic%20Placeholders

+1

Mojocastsは非常にクールです:) –

+0

リダイレクトされたページにさらにデータを渡したい場合は、 '$ self-> session - > {data => ['z']}'は使用すべきではありませんか?ターゲットコントローラ '$ self-> session - > {data} [0]' #zのデータにアクセスする –

2

Very verbose explanation方法を渡すためにと取得するparam

$ selfはmojoliciousコントローラです。それぞれのケースで、我々は、値(または値のリスト)のために>名前のリストのためのparam、$ obj->のparam( "引数")$ obj-呼び出す:

$self->param    -- params from route, post and get 
$self->req->param  -- params from post and get 
$self->req->query_params -- params from get 
$self->req->body_params -- params from post 
関連する問題

 関連する問題