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: 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/

Reply via email to