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:

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 ) = @_;
      # do stuff here


Marcus Ramberg <>


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.