私はredirect_toに引数を渡します
$c->redirect_to('named', foo => 'bar');
また
$c->redirect_to('named, query => {foo=> 'bar'});
しかし、それを使用する方法や、ターゲットコントローラーでfooの値を取得する方法がわかりません。
私はredirect_toに引数を渡します
$c->redirect_to('named', foo => 'bar');
また
$c->redirect_to('named, query => {foo=> 'bar'});
しかし、それを使用する方法や、ターゲットコントローラーでfooの値を取得する方法がわかりません。
$self->redirect_to('named', foo => 'bar')
、前にスラッシュを付けずに使用すると、名前付きルートを参照し、パラメーターはルートプレースホルダーに配置されます。
アプリケーションで定義する各ルートには、デフォルトでルート名が割り当てられますが、手動で割り当てることもできます。(を使用して、割り当てられたルートのリストを取得することもできます./myapp routes
)
ライトアプリの場合:
アクション#ルート名 get'/ named' => sub {...}; #名前付き get'/ named /:foo' => sub {...}; #namedfoo get'/ named /:foo' => sub {...} =>'something-else'; #何か-その他
get '/named/:foo'
以下は、アクションにリダイレクトします。
$self->redirect_to('namedfoo', foo => 'bar')
これは事実上次と同じです:
$self->redirect_to('/named/bar');
-> paramを使用して、アクション内のプレースホルダー値にアクセスできます。
get '/named/:foo' => sub {
my $self = shift;
$self->render_text($self->param('foo'));
};
次のHTMLをレンダリングします。
bar
http://mojocasts.com/e2#Generic%20Placeholdersもチェックして ください。
合格と取得の方法についての非常に詳細な説明param
$selfはmojoliciousコントローラーです。いずれの場合も、名前のリストには$ obj-> paramを呼び出し、値(または値のリスト)には$ obj-> param( "arg")を呼び出します。
$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