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 $c->res->status is a 3xx code (redirection, not modified, etc.), 204 (no content), or $c->res->body has already been set. It also allows you to pass dump_info=1 to the url in order to force a debug screen, while in debug mode.
$c->res->status
$c->res->body
dump_info=1
If you have more than one view, you can specify which one to use with the default_view config setting and the current_view and current_view_instance stash keys (see Catalyst's $c->view($name) method -- this module simply calls $c->view with no argument).
default_view
current_view
current_view_instance
$c->view($name)
$c->view
The default end action. You can override this as required in your application class; normal inheritance applies.
end
Dispatches control to superclasses, then forwards to the default View.
See "METHODS/action" in Catalyst::Action.
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->{'Action::RenderView'}->{ignore_classes}. For instance:
$c->config->{'Action::RenderView'}->{ignore_classes} = [];
To disable the functionality. You can also set config->{'Action::RenderView'}->{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->{'Action::RenderView'}->{scrubber_func} = sub { undef $_ };
This plugin used to be configured by setting $c->config->{debug}. That configuration key is still supported in this release, but is deprecated, please use the 'Action::RenderView' namespace as shown above for configuration in new code.
$c->config->{debug}
'Action::RenderView'
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>
Florian Ragwitz <rafl@debian.org>
Copyright (c) 2006 - 2009 the Catalyst::Action::RenderView "AUTHOR" as listed above.
This library is free software. You can redistribute it and/or modify it under the same terms as Perl itself.
To install Catalyst::Action::RenderView, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Catalyst::Action::RenderView
CPAN shell
perl -MCPAN -e shell install Catalyst::Action::RenderView
For more information on module installation, please visit the detailed CPAN module installation guide.