NAME
Catalyst::Plugin::Params::Nested - Nested form parameters (ala Ruby on
Rails).
SYNOPSIS
use Catalyst qw/Params::Nested/;
# using this html
# turns params into hashrefs:
$c->req->param('foo')->{bar};
$c->req->params({
# extra params
foo => {
bar => ...,
gorch => ...
},
# original params untouched
'foo[bar]' => ...,
'foo.gorch' => ...,
});
DESCRIPTION
Ruby on Rails has a nice feature to create nested parameters that help
with the organization of data in a form - parameters can be an
arbitrarily deep nested structure.
The way this structure is denoted is that when you construct a form the
field names have a special syntax which is parsed.
This plugin supports two syntaxes:
dot notation
subscript notation
When reading query parameters from "$c->req" you can now access the all
the items starting with "foo" as one entity using
"$c->req->param('foo');". Each subitem, denoted by either the dot or the
square brackets, will be returned as a further deeper hashref.
INTERNAL METHODS
prepare_uploads
Overrides "prepare_uploads" in Catalyst to expand the parameter data
structure post factum.
CAVEATS
No attempt is made to merge data intelligently. If you do this:
the "foo" parameter will stay untouched, and you'll have to access
"foo.bar" using its full string name:
$c->req->param("foo.bar");
AUTHORS
Yuval Kogman, "nothingmuch@woobling.org"
Jess Robinson
COPYRIGHT & LICENSE
Copyright (c) 2005 the aforementioned authors. All rights
reserved. This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
SEE ALSO
CGI::Expand