Implement :Chained('../action').
Florian Ragwitz [Sun, 24 Aug 2008 19:32:00 +0000 (19:32 +0000)]
lib/Catalyst/Controller.pm

index 657c59e..85ffb38 100644 (file)
@@ -285,6 +285,9 @@ sub _parse_Chained_attr {
     if (defined($value) && length($value)) {
         if ($value eq '.') {
             $value = '/'.$self->action_namespace($c);
+        } elsif (my ($rest) = $value =~ /^\.{2}\/(.*)$/) {
+            my @parts = split '/', $self->action_namespace($c);
+            $value = '/'.join('/', @parts[0 .. $#parts-1], $rest);
         } elsif ($value !~ m/^\//) {
             my $action_ns = $self->action_namespace($c);