Am 17.08.2009 um 14:49 schrieb Nick Spacek:

(I haven't run this code recently) I'm not trying to use Model::HashRef, but this is the test that I tried with it. My assumption is that $f->{ title } would be set after the form is submitted, but dieing there shows it isn't. If I place debug output in the update flow in Model::HashRef when it is looping through the form elements, it is clear that $element->default is not returning any values.

In Controller:
sub update :Chained('root') Args(0) FormConfig {
    my ( $self, $c ) = @_;

    my $form = $c->stash->{ form };
    $form->default_model( 'HashRef' );

    if($form->submitted_and_valid) {
        my $f = {title => ''};
        $c->stash->{ form }->model->update( $f );
    }
}

update and create are the same method in Model::HashRef. Both accept no arguments but return a hashref. So your example should look something like this:


sub update :Chained('root') Args(0) FormConfig {
    my ( $self, $c ) = @_;

    my $form = $c->stash->{ form };
    $form->default_model( 'HashRef' );

    if($form->submitted_and_valid) {
        my $f = $c->stash->{ form }->model->update;
    }
}

cheers,

moritz

_______________________________________________
HTML-FormFu mailing list
HTML-FormFu@lists.scsys.co.uk
http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/html-formfu

Reply via email to