[Catalyst] problem with FormBuilder + TT2
    Karl.Moens at marsh.com 
    Karl.Moens at marsh.com
       
    Tue Sep 19 12:13:23 CEST 2006
    
    
  
John Napiorkowski wrote:
>
> (snip)
>
> Hey, question for you; are you using Formbuilder with
> a database?  If so what are you doing to manage
> getting stuff between formbuild and your datbase of
> choice?  I'm using DBIx and just doing braindead stuff
> like writing a bunch of $c->form->field(name=>,
> value=>) but I figure there's a better way.  I just
> can't seem to get DBIx::Class::FormTools to do what I
> think it can do for me.  Maybe I just need more work
> on it.
I'm using Catalyst::Plugin::FormBuilder and in order to transfer data back
and forth between the forms and the database (accessed with DBIx::Class) I
do something like:
1. Make sure that your form-fields have the same names as your columns
accessors.
2. Give your sub-routines to which Catalyst dispatches your URL's the ":
Form" attribute.
3a. To add a record:
   <code>my ( $self, $c ) = @_;
         if ($c->form->submitted && $c->form->validate) {
            my $record=$c->model('Your::table')->create(scalar
$c->form->field());
         }</code>
3b. To edit a record:
   <code>my ( $self, $c, $key ) = @_;
    my $record=$c->model('Your::table')->find($key);
    if ($c->form->submitted && $c->form->validate) {
        $record->update(scalar $c->form->field());
    }
    else {
        map {$c->form->field('name' => $_, 'value' => $record->$_)}
$c->form->field();
    }
    </code>
Easy as pie!
Karl
aka CountZero at Perlmonks
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This message and any attachments are confidential. If you have received
this message in error please delete it from your system. If you require any
assistance please notify the sender. Thank You.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    
More information about the Catalyst
mailing list