2015-12-08 4 views
1

J'utilise le code suivant pour générer un formulaire simple avec Catalyst:Pourquoi l'erreur "Can not call method" soumise "sans référence de package ou d'objet" lors de la génération d'un formulaire dans Catalyst?

sub edit : Local { 
    my ($self, $c) = @_; 
    my $form = $self->formbuilder; 
    if ($form->submitted && $form->validate) { 
     $c->stash->{message} = 'Thanks for submitting the form!'; 
    } 
} 

Cependant, quand je le lance, je reçois ce message d'erreur:

exception Pris dans AddressBook :: Contrôleur: : Personne-> modifier "Impossible d'appeler la méthode" soumise "sans référence de package ou d'objet sur /Users/me/Docs/workspace/MyAddressBook/AddressBook/script/../lib/AddressBook/Controller/Person.pm ligne 58 "

Des idées sur ce qui cause cela?

Répondre

1

Selon the fine manual, l'attribut :Form fait partie de ce qui déclenche la création de forme, par exemple .:

sub edit : Local Form { 
    my ($self, $c, @args) = @_; 
    ... 

Je dirais que sans cela, il ne se configuré, et donc ne pas une méthode submitted.

+0

OMG appelez-moi un idiot s'il vous plaît. Erreur stupide. Merci de me montrer le chemin. Formulaire ajouté et travaillé comme un charme. – cb49747

+0

Nouvelle paire d'yeux, c'est tout :-) – RET