[jifty-devel] passing in args to page regions which include forms

Matthew Lenz matthew at nocturnal.org
Fri Jul 6 13:09:16 EDT 2007

I've got the following situation:

   column somePclmn1 ..
   column child refers to Child by parent

   column someCclmn1 ..
   column someCclmn2 ..
   column parent refers to Parent

So a 1-to-many relationship.

I've created a template: child_list?parent=###

<&| /_elements/wrapper, title =>
Jifty->config->framework('ApplicationName') &>
<% Jifty->web->region(
    name => "parent",
    path => "/fragments/parent",
    defaults => { parent => $parent } )
<% Jifty->web->region(
    name => "child-list",
    path => "/fragments/child_list",
    defaults => { parent => $parent } )
<% Jifty->web->region(
    name => "child-add",
    path => "/fragments/child_add",
    defaults => { parent => $parent } )

the parent and child_list fragments work fine just by adding

at the top and using it to get the Parent model for that record and
limit the ChildCollection to that parent.

the problem is the child_add fragment.  it is a form.  in the admin view
you would choose a parent from a select window when creating a new
Child.  But for the application the parent needs to be taken from the
argument.  Here is the child_add fragment:

my $action = Jifty->web->new_action( class => 'CreateChild' );
<h2>Add Issue</h2>
<% Jifty->web->form->start() %>
<% $action->form_field('someCclmn1') %>
<% $action->form_field('someCclmn2') %>
<% Jifty->web->form->submit( label => 'Submit' ) %>
<% Jifty->web->form->end() %>

(I didn't include my experimentations in the code above)
I've tried setting argument values on the $action .. setting parent =>
$parent also tried parent_id => $parent.  I've tried different
combinations where the fragment will load but as soon as you submit it
complains that the required $parent arg is missing and other
combinations where it complains about the $parent args missing
immediately even though its being passed into the fragment just like the
other fragments called from the template.

I'm sure its something stupid and simple but I can't find any examples
of this stuff that don't use the dispatcher for everything.

What am I overlooking?

More information about the jifty-devel mailing list