... and of course I made mistakes putting too many ":"s... the right expansion would be: /foo(?:/(?<foo_id>\w+))?/bar(?:/(?<bar_id>\w+)) Cheers, Flavio. On Mon, Jan 17, 2011 at 11:13 PM, Flavio Poletti <polettix@gmail.com> wrote:
I think that Puneet is suggesting to have a syntax for non-mandatory parts in the route specifier, i.e. the foo_id might be there, as in:
/foo/1/bar/30
or not, as in
/foo/bar/30
in which case a default value for foo_id can be set inside the route handler. Trying to guess a possible regex for it (don't know if "\w" is correct here):
/foo(?:/(?<foo_id>:\w+))?/bar(?:/(?<bar_id>:\w+))
i.e. each named capture "name" for a parameter is expanded to "(?:/(?<name>:\w+))?" (or whatever is used instead of "\w" today).
Cheers,
Flavio.
On Mon, Jan 17, 2011 at 11:01 PM, sawyer x <xsawyerx@gmail.com> wrote:
I don't follow
On Mon, Jan 17, 2011 at 9:03 PM, Puneet Kishor <punk.kish@gmail.com>wrote:
unless default params already exist, the following would make life a lot easier
get '/foo/:foo_id?/bar/:bar_id?' => sub { my $foo_id = params->{'foo_id'} || <default foo value>; my $bar_id = params->{'bar_id'} || <default bar value>; };
Many thanks,
-- Puneet Kishor _______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users
_______________________________________________ Dancer-users mailing list Dancer-users@perldancer.org http://www.backup-manager.org/cgi-bin/listinfo/dancer-users