[html-formfu] $form->model->create error
Octavian Rasnita
orasnita at gmail.com
Mon Jan 12 13:48:35 GMT 2009
Hi Carl,
From: "Carl Franks" <fireartist at gmail.com>
> 2009/1/12 Octavian Rasnita <orasnita at gmail.com>:
>> Hello,
>>
>> In a Catalyst Controller I've tried to create a new row using:
>>
>> $form->model->create({hash => $hash});
>
> I normally call $form->model->create() without any args.
> If you provide an argument, it should just be interpreted as a
> hash-ref of attributes to modify create's behaviour, and never be
> passed to the database, so I'm not sure what's happening here.
I've re-read the POD docs and now I see that I didn't understand correctly.
I had previously done:
my $hash = sha1_hex($username . $email . time());
my $new_user = $c->model("DB::TempUser")->new_result({hash => $hash});
$form->model->update($new_user);
And I thought that I could add that new field in the database as a parameter
of create(), without needing to use the new_result() method of DBIC.
> Furthermore, the error message is confusing, because the printed SQL
> statement doesn't mention a 'hash' field anywhere.
Of course it doesn't print the hash field, because if the create() method
doesn't accept new fields... there is no a hash field in the form.
I was confused because some time ago, for creating a new record, I needed to
use the new_result() method of DBIC (and then the update() method), and that
method could accept new fields, and now the improved and probably
recommended way is to use the create() method, without needing to use
new_result(), and I thought that it is also possible to add new fields.
Is it possible to add the fields without using:
$form->add_valid(hash => $hash);
> What are you expecting the { hash => $hash } to do? or is it just the
> final result of lots of troubleshooting? :)
> (btw, what does $hash contain? I can't think off-hand if it could
> affect things, but it might help)
$hash is a SHA-1 hash that will be sent by email to the user that just
created an account.
Thanks.
Octavian
More information about the HTML-FormFu
mailing list