Brian Kirkbride wrote:
Hello all,
The one thing that has been bothering me is that to start a chain in
some controller, say MyApp::C::Admin::Services you would need to declare:
sub get_id : Chained('/') : PathPart('/admin/services') :
CaptureArgs(1) {
# stash the id or do some lookup
}
It's most likely my ignorance showing, but this seems redundant and not
very DRY. That's why I'd suggest that PathPart('.') set a chained
action's PathPart to the namespace on the controller. That way you
could simply do:
sub get_id : Chained('/') : PathPart('.') : CaptureArgs(1) {}
Perhaps you're looking for PathPrefix (coming to a new Catalyst near you
... eventually -- it's in svn now.). For now, do this:
sub _parse_PathPrefix_attr {
my ( $self, $c, $name, $value ) = @_;
return PathPart => $self->path_prefix;
}
sub get_id : Chained('/') PathPrefix CaptureArgs(1) { }
You can put the "_parse_PathPrefix_attr" sub in a base controller and
all of your controllers will have access to it.
-Brian
_______________________________________________
List: [email protected]
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/