thankspackage AddressBook::Controller::Address; use strict; use warnings; use base qw(Catalyst::Controller::FormBuilder Catalyst::Controller::Bi +ndLex); use Data::Dumper; sub edit : Local Form { my ($self, $c, $address_id, $person_id) = @_; my $address : Stashed; print $c->request->arguments->[0]; print "\n"; print Dumper(" address_id is: ".Dumper($address_id)); print Dumper("person_id is: ".Dumper($person_id)); my $persid = $c->model('AddressDB::Addresses')->find({person => $id}); my $person = $c->model('AddressDB::People')->find({id => $persid}); if ($self->formbuilder->submitted && $self->formbuilder->validate){ # transfer data from form to database $address->location($self->formbuilder->field('location')); $address->postal ($self->formbuilder->field('postal' )); $address->phone ($self->formbuilder->field('phone')); $address->email ($self->formbuilder->field('email')); $address->insert_or_update; $c->stash->{message} = ($address_id > 0 ? 'Updated ' : 'Added new ').'address for '. $ +address->person->name; $c->detach('list'); } else { # transfer data from database to form if(!$address_id){ $c->stash->{message} = 'Adding a new address '; } else { $c->stash->{message} = 'Updating an address '; } $c->stash->{message} .= ' for '. $address->person->name; $self->formbuilder->field(name => 'location', value => $address +->location); $self->formbuilder->field(name => 'postal', value => $address-> +postal); $self->formbuilder->field(name => 'phone', value => $address->p +hone); $self->formbuilder->field(name => 'email', value => $address->e +mail); } }
In reply to Re^2: Can't call method "find" on an undefined value
by Anonymous Monk
in thread Can't call method "find" on an undefined value
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |