Okay,
Maybe a more simple explanation of my question. The documentation talkes about
using relative paths in the Chain attribute, however the :Chained('.') doesn't
work unless there is already a :Chained('/') for it to find. So if I want to
match, "/templates/*" I can do the following (somewhat contrived example
follows):
package myapp::templates
sub templates :Chained Args(1)
{
[...]
}
or if I want better control of the action name I can do:
package myapp::templates
sub list:Chained PathPart('templates') Args(1)
{
[...]
}
What I'd like to do is:
package myapp::templates
sub list:Chained PathPart('.') Args(1)
{
[...]
}
So that I get a way to start a chain from the current controller's namespace
without having to hardcode part of the namespace. However in this last example
what actually gets matched is "/./*" (it actually matches on the "." as a
literal).
So I guess my confusion is in how differently the Path and PathPart attribute
work. The Path attribute defaults to matching the controller's namespace but
:PathPart acts more like :Local in that it matches to the action name. I wish
there was a good way to do something like the third example but I'm not seeing
it. What do you all think of this behavior and does anyone have a good way to
get a chain rooted to the controller namespace without have to hardcode some
part of the controller name? I'd like this for some custom controllers I am
making.
--john
_______________________________________________
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/