[Catalyst] Catalyst::Manual::Tutorial::CatalystBasics [error]
Couldn't render template "undef error - status_msg is undefined
Jason Kohles
email at jasonkohles.com
Wed Mar 14 13:13:25 GMT 2007
On Mar 14, 2007, at 12:51 AM, David Christensen wrote:
>
> I'm now on tutorial 2 of 9, and have run the various scripts,
> entered modules and
> templates, etc., as directed for the books database example. When
> I fire up the
> development server and browse to:
>
> http://p3800.holgerdanske.com:3000/books/list
>
>
> The server says:
>
> [error] Couldn't render template "undef error - status_msg is
> undefined
>
It looks like you've turned on debugging in Template, either
DEBUG_UNDEF or DEBUG_ALL (which gets you all the debugging options,
including UNDEF.) DEBUG_UNDEF is helpful if you want to make sure
you don't have any undefined variable values in your templates, but
the way most people use templates is to just leave anything they
don't need filled in empty.
One option if you want to keep DEBUG_UNDEF enabled, but not have it
throw an error for things like status_msg and error_msg that might
reasonably be blank is to do something like this in your view...
my @dont_leave_blank = qw(
status_msg error_msg
);
sub template_vars {
my ( $self, $c ) = @_;
my %vars = $self->NEXT::template_vars( $c );
foreach my $x ( @dont_leave_blank ) {
if ( ! defined $vars{ $x } ) { $vars{ $x } = q{} }
}
return %vars;
}
--
Jason Kohles
email at jasonkohles.com
http://www.jasonkohles.com/
"A witty saying proves nothing." -- Voltaire
More information about the Catalyst
mailing list