1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
NAME
Catalyst::Action::RenderView - Sensible default end action.
SYNOPSIS
sub end : ActionClass('RenderView') {}
DESCRIPTION
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.
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).
METHODS
end
The default "end" action. You can override this as required in your
application class; normal inheritance applies.
INTERNAL METHODS
execute
Dispatches control to superclasses, then forwards to the default View.
See "METHODS/action" in Catalyst::Action.
SCRUBBING OUTPUT
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 $_ };
Deprecation notice
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.
EXTENDING
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
}
AUTHORS
* Marcus Ramberg <marcus@thefeed.no>
* Florian Ragwitz <rafl@debian.org>
CONTRIBUTOR
Graham Knop <haarg@haarg.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2006 - 2009 by Marcus Ramberg and Florian
Ragwitz.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
|