Perl 为什么会出现错误';Can';t调用方法";“已提交”;没有包或对象引用';在Catalyst中生成表单时?
我使用以下代码生成一个带有Catalyst的简单表单:Perl 为什么会出现错误';Can';t调用方法";“已提交”;没有包或对象引用';在Catalyst中生成表单时?,perl,catalyst,formbuilder,Perl,Catalyst,Formbuilder,我使用以下代码生成一个带有Catalyst的简单表单: sub edit : Local { my ($self, $c) = @_; my $form = $self->formbuilder; if ($form->submitted && $form->validate) { $c->stash->{message} = 'Thanks for submitting the form!'; } }
sub edit : Local {
my ($self, $c) = @_;
my $form = $self->formbuilder;
if ($form->submitted && $form->validate) {
$c->stash->{message} = 'Thanks for submitting the form!';
}
}
但是,当我运行它时,会收到以下错误消息:
在/Users/me/Docs/workspace/MyAddressBook/AddressBook/script/./lib/AddressBook/Controller/Person.pm第58行,在没有包或对象引用的情况下,在AddressBook::Controller::Person->edit“无法调用方法”submitted中捕获异常
关于导致这种情况的原因有什么想法吗?根据,属性:Form
是触发表单创建的一部分,例如:
sub edit : Local Form {
my ( $self, $c, @args ) = @_;
...
我想说,如果没有它,它不会被配置,因此没有提交的
方法。OMG请叫我白痴。愚蠢的错误。谢谢你给我指路。增加了形式和魅力。新鲜的眼睛,仅此而已:-)