[Catalyst] Chained, root action, with default sub present

Matija Grabnar matija at serverflow.com
Sun Aug 9 14:31:51 GMT 2009


I think this may be either a bug or something I don't understand about 
specifying chained actions.

Suppose I have a controller which has a defined default action (such as 
created by catalyst.pl by default, i.e.


sub default :Path {
    my ( $self, $c ) = @_;
    $c->response->body( 'Page not found' );
    $c->response->status(404);
}

To that I add a root action, the start of the chain, like so:

sub index :Chained('/') PathPart('') :Args(0) {
    my ( $self, $c ) = @_;

    # Hello World
    $c->response->body( $c->welcome_message );
}

Now, whenever I request '/' from that script, default action triggers, 
and the index action doesn't.
If I comment out the default action, the index DOES get called.

Is this a bug? If not, what do I have to change to have both index and 
default in my root controller?



More information about the Catalyst mailing list