2012-03-08 28 views

Trả lời

9

$self->redirect_to('named', foo => 'bar'), được sử dụng không có dấu gạch chéo trước, đề cập đến các tuyến đường được đặt tên và thông số được đặt vào trình giữ chỗ tuyến đường.

Mỗi tuyến đường bạn xác định trong ứng dụng của bạn sẽ được chỉ định tên tuyến theo mặc định hoặc bạn có thể gán chúng theo cách thủ công. (Bạn cũng có thể nhận được một danh sách các tuyến đường giao sử dụng ./myapp routes)

Trong một ứng dụng bản lite:

 
action # route name 

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

Các trang đổi hướng sau vào get '/named/:foo' hành động:

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

Đó là một cách hiệu quả tương tự như :

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

Bạn có thể truy cập giá trị giữ chỗ bên trong hành động sử dụng -> param:

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

nào ám chỉ rằng HTML sau:

bar


Bạn cũng có thể muốn kiểm tra: http://mojocasts.com/e2#Generic%20Placeholders

+1

Các Mojocasts rất mát mẻ :) –

+0

Nếu tôi muốn chuyển nhiều dữ liệu hơn đến trang được chuyển hướng, tôi nên sử dụng '$ self-> session -> {data => ['z']}' không nên? và truy cập dữ liệu đó trong bộ điều khiển đích '$ self-> session -> {data} [0]' #z –

2

Very verbose explanation làm thế nào để vượt qua và nhận được param

$ tự là một bộ điều khiển tiện lợi. Trong mỗi trường hợp, chúng ta gọi là $ obj-> param cho một danh sách tên, $ obj-> param ("arg") cho giá trị (hoặc danh sách các giá trị):

$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 
Các vấn đề liên quan