$.args ($self->args) will return a hashref of arguments passed to a component. 
It's like %ARGS, except that it's a method call rather than a magic scalar.

On Oct 24, 2012, at 5:18 AM, Kamil Niechajewicz wrote:

> Hello,
> 
> We ran into a problem recently – we have quite complex form that is used to 
> edit multiple "rows" of data. This means we have input structure like this:
> 
> <input type="text" name="row_1" />
> <input type="text" name="row_2" />
> <input type="text" name="row_n" />
> 
> There can be also additional data related to each row so:
> <input type="radio" name="row_1_type" />
> <input type="radio" name="row_1_category" />
> 
> With old Mason we could just use %ARGS and process it manually with regexps 
> and create nested array-hash structure:
> 
> [0] => { name => …, type => …, category => … },
> [1] => { name => …, type => …, category => … },
> [n] => { name => …, type => …, category => … }
> 
> But Mason2 uses Moose constructor and requires parameters to be defined as 
> attributes – its obvious defining every possible number of such row data will 
> be very tedious and ugly:
> 
> <%class>
> has 'row_1_name';
> has 'row_1_type';
> has 'row_1_category'
> .
> .
> .
> has 'row_n_name';
> has 'row_n_type';
> has 'row_n_category'
> </%class>
> 
> How to solve this problem in a Mason2 way? Some frameworks allow to use 
> naming convention with square brackets that describe nested nature of input 
> data:
> 
> <input type="text" name="row[1][name]" />
> <input type="radio" name="row[1][type]" />
> 
> etc. but I don't think Mason2 supports this. Would it be possible to create 
> some pre-processing method that would prepare data in such format for passing 
> into Moose constructor, so we could use more advanced Moose attributes for 
> GET data, and just pre-process it before it reaches the actual component? Or 
> is there a better way?
> 
> Other way to do this I think is to use class meta methods and just create 
> needed attributes on runtime, this would save a lot of typing, but we still 
> are not flexible, as we need to generate certain number of input rows, and if 
> we receive one more row it will break. 
> 
> Mason2 is great so far, but sometimes we run into problems when doing more 
> advanced stuff thats not described anywhere. Hope someone can point us in the 
> right direction.
> 
> Regards,
> KN 
> 
> 
> 
> 
> ------------------------------------------------------------------------------
> Everyone hates slow websites. So do we.
> Make your web apps faster with AppDynamics
> Download AppDynamics Lite for free today:
> http://p.sf.net/sfu/appdyn_sfd2d_oct_______________________________________________
> Mason-users mailing list
> Mason-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/mason-users

------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_sfd2d_oct
_______________________________________________
Mason-users mailing list
Mason-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mason-users

Reply via email to