Catalyst::Action::RenderView - Sensible default end action. |
Catalyst::Action::RenderView - Sensible default end action.
sub end : ActionClass('RenderView') {}
This action implements a sensible default end action, which will forward
to the first available view, unless status is set to 3xx, or there is a
response body. It also allows you to pass dump_info=1
to the url in
order to force a debug screen, while in debug mode.
If you have more than one view, you can specify which one to use with
the default_view
config setting (see Catalyst's $c-
view($name)>
method).
The default end
action. You can override this as required in your
application class; normal inheritance applies.
Dispatches control to superclasses, then forwards to the default View.
See METHODS/action in the Catalyst::Action manpage.
When you force debug with dump_info=1, RenderView is capable of removing classes from the objects in your stash. By default it will replace any DBIx::Class resultsource objects with the class name, which cleans up the debug output considerably, but you can change what gets scrubbed by setting a list of classes in $c->config->{debug}->{ignore_classes}. For instance:
$c->config->{debug}->{ignore_classes}=[]; To disable the functionality. You can also set config->{debug}->{scrubber_func} to change what it does with the classes. For instance, this will undef it instead of putting in the class name:
$c->config->{debug}->{scrubber_func}=sub { undef $_ };
To add something to an end
action that is called before rendering,
simply place it in the end
method:
sub end : ActionClass('RenderView') { my ( $self, $c ) = @_; # do stuff here; the RenderView action is called afterwards }
To add things to an end
action that are called after rendering,
you can set it up like this:
sub render : ActionClass('RenderView') { }
sub end : Private { my ( $self, $c ) = @_; $c->forward('render'); # do stuff here }
Marcus Ramberg <marcus@thefeed.no>
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
Catalyst::Action::RenderView - Sensible default end action. |