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_parameters Overrides "prepare_parameters" 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