Dear Gerda, Thanks for making HTML::FormHandler, which I found very useful.
I was trying to make a simple registration page using HTML::FormHandler, but couldn't make it through. The form itself looks OK, but after clicking the submit button, I got an error message which I dumped below: Can't call method "insert" on an undefined value at /home/sung/perl5/lib/perl5/DBIx/Class/Row.pm line 350. at /home/sung/perl5/lib/perl5/DBIx/Class/Schema.pm line 1088 DBIx::Class::Schema::throw_exception('Nectar::Schema::NECTAR=HASH(0x7e90250)', 'Can\'t call method "insert" on an undefined value at /home/su...') called at /home/sung/perl5/lib/perl5/DBIx/Class/Storage.pm line 111 DBIx::Class::Storage::throw_exception('DBIx::Class::Storage::DBI::mysql=HASH(0x7e43400)', 'Can\'t call method "insert" on an undefined value at /home/su...') called at /home/sung/perl5/lib/perl5/DBIx/Class/Storage.pm line 197 DBIx::Class::Storage::__ANON__('DBIx::Class::Storage::DBI::mysql=HASH(0x7e43400)', 'Can\'t call method "insert" on an undefined value at /home/su...') called at /home/sung/perl5/lib/perl5/DBIx/Class/Storage.pm line 218 DBIx::Class::Storage::__ANON__('Can\'t call method "insert" on an undefined value at /home/su...') called at /home/sung/perl5/lib/perl5/Try/Tiny.pm line 100 Try::Tiny::try('CODE(0xa780550)', 'Try::Tiny::Catch=REF(0xa847900)', 'Try::Tiny::Finally=REF(0xa6298f0)') called at /home/sung/perl5/lib/perl5/DBIx/Class/Storage.pm line 258 DBIx::Class::Storage::txn_do('undef', 'undef') called at /home/sung/perl5/lib/perl5/DBIx/Class/Storage/DBI.pm line 807 DBIx::Class::Storage::DBI::txn_do('DBIx::Class::Storage::DBI::mysql=HASH(0x7e43400)', 'CODE(0xa7f98b0)') called at /home/sung/perl5/lib/perl5/DBIx/Class/Schema.pm line 660 DBIx::Class::Schema::txn_do('Nectar::Schema::NECTAR=HASH(0x7e90250)', 'CODE(0xa7f98b0)') called at /home/sung/perl5/lib/perl5/HTML/FormHandler/TraitFor/Model/DBIC.pm line 87 HTML::FormHandler::TraitFor::Model::DBIC::update_model('Nectar::Form::Register=HASH(0xa0c39c0)') called at /home/sung/perl5/lib/perl5/HTML/FormHandler.pm line 296 HTML::FormHandler::run('Nectar::Form::Register=HASH(0xa0c39c0)', 'item', 'Nectar::WebV2::Model::NECTAR::User=HASH(0xa18ed70)', 'params', 'HASH(0xa19f2e0)', 'schema', 'Nectar::Schema::NECTAR=HASH(0x7e90250)') called at /data/Serve/Web/Cardiacdb.org/Nectar-WebDev/script/../lib/Nectar/WebV2/Controller/Auth.pm line 83 Nectar::WebV2::Controller::Auth::register('Nectar::WebV2::Controller::Auth=HASH(0x80c77e0)', 'Nectar::WebV2=HASH(0xa0e9840)') called at /home/sung/perl5/lib/perl5/Catalyst/Action.pm line 65 Catalyst::Action::execute('Catalyst::Action=HASH(0x94c9740)', 'Nectar::WebV2::Controller::Auth=HASH(0x80c77e0)', 'Nectar::WebV2=HASH(0xa0e9840)') called at /home/sung/perl5/lib/perl5/Catalyst.pm line 1667 eval {...} called at /home/sung/perl5/lib/perl5/Catalyst.pm line 1667 The Controller::Auth::register looks like: use Nectar::Form::Register; my $form = Nectar::Form::Register->new; # Stash the form and the template to render it $c->stash(template => 'Form/register.tt2', form=> $form); # Create an empty row object for the desired table my $new_user= $c->model("NECTAR::User")->new_result( {} ); # Process the form with the parameters, a schema and a row object $form->process( item => $new_user, params => $c->request->parameters, schema => $c->model("NECTAR")->schema, ); You may find that there's 'schema' attribute within the process, which you might think it's irrelevant here. However if I delete it (e.g. only 'item' and 'params' as per manual), I got an error shown below: Caught exception in Nectar::WebV2::Controller::Auth->register "Can't call method "_count_select" on an undefined value at /home/sung/perl5/lib/perl5/DBIx/Class/ResultSet.pm line 1494." My app is based on: Catalyst 5.90007 DBIx::Class 0.08196 HTML::FormHandler 0.36003 Perl v5.8.8 Linux version 2.6.18-274.17.1.el5.centos.plus (mockbu...@builder10.centos.org) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-51)) Just to add up, installation of HTML::FormHandler failed via cpanm: Perl v5.10.0 required--this is only v5.8.8, stopped at /home/sung/.cpanm/work/1330962009.9533/HTML-FormHandler-0.36003/blib/lib/HTML/FormHandler/Foo.pm line 9. BEGIN failed--compilation aborted at /home/sung/.cpanm/work/1330962009.9533/HTML-FormHandler-0.36003/blib/lib/HTML/FormHandler/Foo.pm line 9. Compilation failed in require at t/config.t line 13. BEGIN failed--compilation aborted at t/config.t line 13. ... Test Summary Report ------------------- t/config.t (Wstat: 2304 Tests: 0 Failed: 0) Non-zero exit status: 9 Parse errors: No plan found in TAP output Files=59, Tests=1145, 96 wallclock secs ( 0.27 usr 0.09 sys + 88.52 cusr 3.05 csys = 91.93 CPU) Result: FAIL Failed 1/59 test programs. 0/1145 subtests failed. make: *** [test_dynamic] Error 255 -> FAIL Installing HTML::FormHandler failed. See /home/sung/.cpanm/build.log for details. Any thoughts? Regards, Sung _______________________________________________ List: Catalyst@lists.scsys.co.uk Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst@lists.scsys.co.uk/ Dev site: http://dev.catalyst.perl.org/