Hi, I wrote a patch that permits to use multiple ActionClass attributes in a controller action. Here is the synopsys:
=head1 USING MULTIPLE ACTIONS
To use multiple actions you just need to had more ActionClass
attributes:
sub Hello :Local :ActionClass('SayBefore') ActionClass('SayAfter') {
$c->res->output( 'Hello '.$c->stash->{what} );
}
Attention that if you are using multiple actions you probably want to
use Class::C3 dispatch order. With NEXT just the first ActionClass will
be called. Here you have an example:
package Catalyst::Action::SayBefore;
use Class::C3;
use base 'Catalyst::Action';
sub execute {
my $self = shift;
my ( $controller, $c, $test ) = @_;
$c->stash->{what} = 'world';
$self->next::method( @_ );
};
1;
package Catalyst::Action::SayAfter;
use Class::C3;
use base 'Catalyst::Action';
sub execute {
my $self = shift;
my ( $controller, $c, $test ) = @_;
$self->next::method( @_ );
$c->res->output( 'Bye '.$c->stash->{what} );
};
1;
Patch with tests and docs attached.
catalyst_multiple_action_classes.diff
Description: Binary data
documentation.diff
Description: Binary data
_______________________________________________ List: Catalyst@lists.rawmode.org Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/ Dev site: http://dev.catalyst.perl.org/
