我将参数传递给 redirect_to 喜欢
$c->redirect_to('named', foo => 'bar');
或者
$c->redirect_to('named, query => {foo=> 'bar'});
但我不确定如何使用它或在目标 Controller 中检索 foo 的值。
最佳答案
$self->redirect_to('named', foo => 'bar')
,不使用前面的斜杠,指的是命名路由,参数放置在路由占位符中。
默认情况下,您在应用程序中定义的每个路由都会被分配一个路由名称,或者您可以手动分配它们。 (您还可以使用 ./myapp routes
获取已分配路线的列表)
在精简版应用程序中:
action # route name get '/named' => sub { ... }; # named get '/named/:foo' => sub { ... }; # namedfoo get '/named/:foo' => sub { ... } => 'something-else'; # something-else
The following redirects to the get '/named/:foo'
action:
$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
关于perl - 在 mojolicious 中将参数传递给 redirect_to 并在目标 Controller 中使用它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9622247/