On Jun 25, 2007, at 1:27 PM, Evaldas Imbrasas wrote:
Yes, that's what I meant, thanks Brian. Please provide a code example
using RenderView action. I think it would also make sense to
incorporate that example into the Catalyst cookbook instead of
existing one since that one's incomplete.
Something like this...
sub render : ActionClass('RenderView') { }
sub end : Private {
my ( $self, $c ) = @_;
$c->forward( 'render' );
if ( my @errors = @{ $c->errors } ) {
$c->response->content_type( 'text/html' );
$c->response->status( 500 );
$c->response->body( qq{
<html>
<head>
<title>Error!</title>
</head>
<body>
<h1>Oh no! An Error!</h1>
} . ( map { "<p>$_</p>" } @errors ) . qq{
</body>
</html>
} );
}
}
I think what Evaldas means is that an error (template not found, etc)
in the View rendering stage will not be caught by the method in the
Cookbook.
I am away from my code at the moment, but IIRC the trick is to check
$c->error AFTER you forward to MyApp::V::TT (or after the RenderView
action) and then setup your error.tt template and forward to the view
again.
If that doesn't make sense I can provide a code example later.
--
-----------------------------------------------------
Evaldas Imbrasas
http://www.imbrasas.com
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/
[email protected]/
Dev site: http://dev.catalyst.perl.org/
--
Jason Kohles
[EMAIL PROTECTED]
http://www.jasonkohles.com/
"A witty saying proves nothing." -- Voltaire
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/