####
sub update {
my %args = @_;
my @messages = ();
my @errors = validate_args( %args );
if (@errors) {
# package the errors up as error messages
@messages = map {{ class => 'error', data => $_ }} @errors;
# override landing page back to update so user can fix errors
# $comp is set to 'list' prior to this method call
$comp = 'update';
} else {
my $sth = $dbh->prepare('
UPDATE thingy SET
foo = ?,
bar = ?
WHERE id = 1
');
$sth->execute(
$args{foo},
$args{bar},
);
push( @messages, {
class => 'message',
data => 'Thingy successfully updated.'
} );
}
return @messages;
}
####
$m->comp( "comps/thingy/$comp.md", messages => \@messages, %ARGS );