> -----Original Message-----
> From: Juan Camacho [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, January 30, 2007 6:22 PM
> To: The elegant MVC web framework
> Subject: Re: [Catalyst] C::C::FormBuilder question
> 
> On 1/29/07, Marc Logghe <[EMAIL PROTECTED]> wrote:
> > Actually, the docs give a TT example:
> > [% FormBuilder.render %]
> > And therefore in TT it is not clear whether it is a variable or a 
> > package name. Anyways, I tried it with the package name in Mason as 
> > well (FormBuilder->render, 
> Catalyst::Controller::FormBuilder->render, ....):
> > nope. 99% sure in the TT example 'FormBuilder' is a variable, not a 
> > package name.
> > It seems to work only when I do the assignment in the controller:
> > $c->stash->{form} = $self->form;
> >
> > In Mason template:
> > <% $form->render %>
> >
> > No magic...
> 
> by default C-C-FormBuilder does the equivalent of this:
> 
>    $c->stash->{FormBuilder} = CGI::FormBuilder->new(\%attr)
> 
> If instead you want it to be $c->stash->{form} set obj_name 
> config variable:
> 
> obj_name:
>     Not applicable for HTML::Template view. By default, it is 
> FormBuilder. e.g. $c->stash->{FormBuilder} = $formbuilder.

The reason why everything was broken up in my case was because of this:
$c->stash->{template} = '/moe/mol_3D_conv_form';
$c->forward($c->view);

One way or another, when forward() is called the C::C::FB code that sets
the stash and all, is never called.
Also when you do a detach(). When, the forward() line was replaced by a
simple return statement, it worked again.

Not sure whether this is a bug or a feature. I still don't understand
how the calling chain looks like, but my gut feeling is that it must
have to do with that.
Cheers,
Marc


_______________________________________________
List: Catalyst@lists.rawmode.org
Listinfo: http://lists.rawmode.org/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/catalyst@lists.rawmode.org/
Dev site: http://dev.catalyst.perl.org/

Reply via email to