2012-11-07 12 views

Odpowiedz

8

Możesz dodać szablon dla twoja niestandardowa strona o nazwie exception.html.ep lub na końcu twojego liteapp.

Na przykład

use Mojolicious::Lite; 
get '/' => sub { 
    my $self = shift; 
    $self->render(text => "Hello."); 
}; 
app->start; 

__DATA__ 
@@ not_found.html.ep 
<!DOCTYPE html> 
<html> 
    <head><title>Page not found</title></head> 
    <body>Page not found <%= $status %></body> 
</html> 

dla porównania patrz Mojolicious rendering guide.

renderujący zawsze starają się znaleźć wyjątek. Tryb $. $ Format. * Lub NOT_FOUND. Tryb $. $ Format. * Przed upadkiem z powrotem do wbudowanego domyślnie szablonów.

4

Chciałem uruchomić pewne kod w moim 404 więc pożyczanie stąd https://groups.google.com/forum/#!topic/mojolicious/0wzBRnetiHo

zrobiłem trasę, która łapie wszystko i umieścił go po wszystkich moich innych trasach, więc adresy URL, które nie pasują trasy do tego:

any '/(*)' => sub { 
    my $self = shift; 
    $self->res->code(404); 
    $self->res->message('Not Found'); 

    # 404  
    $self->stash({ 
     # ... my stuff in the stash ... 
    }); 

    $self->render('mytemplate', status => 404); 
}; 
Powiązane problemy