X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FCatalyst%2FController.pm;h=9c230e91a9ed3832b19716938593d177c9e5cd55;hb=b939ae6bd234fc5cd66f2e38a23e2481a4c4c258;hp=ee39c7b86b2db48a909dd13007b584ac8f8f8f5a;hpb=c813664857bab8bd99687041937b078b9590bf0c;p=catagits%2FCatalyst-Runtime.git diff --git a/lib/Catalyst/Controller.pm b/lib/Catalyst/Controller.pm index ee39c7b..9c230e9 100644 --- a/lib/Catalyst/Controller.pm +++ b/lib/Catalyst/Controller.pm @@ -448,32 +448,23 @@ Sets 'path_prefix', as described below. =head2 action_args -Allows you to set instantiation arguments on your custom Actions or ActionRoles. -You can set args globally (shared across all actions) and specifically (for a -single action). +Allows you to set constructor arguments on your Actions. You can set arguments +globally (for all actions of the controller) and specifically (for a single +action). This is particularly useful when using Cs +(L) and custom Ces. - package MyApp::Web::Controller::MyController; - use parent 'Catalyst::Controller'; - - __PACKAGE__->config({ + __PACKAGE__->config( action_args => { - '*' => {globalarg1=>'hello', globalarg2=>'goodbye'}, - 'specific_action' => {customarg=>'arg1'}, - }, - }); - - sub specific_action :Path('') ActionClass('CustomActionClass') {} - - 1; - -In the case above, your 'CustomActionClass' would get passed the following -arguments when it is instantiated: (globalarg1=>'hello', globalarg2=>'goodbye', -'customarg=>'arg1'). Please note that the order the arguments are passed are not -certain to be in the order declared. - -As with all other configuration hashes, you can set values inline with your -controller (as above) or centrally via a configuration file (such as you might -use with the ConfigLoader plugin). + '*' => { globalarg1 => 'hello', globalarg2 => 'goodbye' }, + 'specific_action' => { customarg => 'arg1' }, + }, + ); + +In the case above the action class associated with C would get +passed the following arguments, in addition to the normal action constructor +arguments, when it is instantiated: + + (globalarg1 => 'hello', globalarg2 => 'goodbye', customarg => 'arg1') =head1 METHODS