0

我正在使用HTML::FormHandler并且我想通过在我的控制器类中使其成为 moose 属性来使我的表单持久化。在 HTML::FormHandler 的Manual Intro 文档中,它是这样说的:

FormHandler makes heavy use of Moose, so almost all of FormHandler's 
profiled time will actually be in Moose methods, mostly constructing form 
and field attributes. Some people prefer to use a persistent form class 
(in a Moose attribute) in order to skip the form building step on each call.

我想这样做,但是它没有给出示例,而且我对 Moose 不太熟悉,所以我不知道该怎么做。在此之前有没有人做过这个,可以举例说明在你的 Catalyst 代码中添加什么来完成这个?或者只是和想法如何去做?谢谢!

4

1 回答 1

0

所以我最终找到了解决方案。事实证明,一个示例只是在有关如何将 HTML::FormHandler 与 Catalyst 一起使用的文档的不同部分中:HTML::FormHandler::Manual::Catalyst。这是一个关于如何使表单持久化的示例(直接来自文档)

package MyApp::Controller::Book;
use Moose;
BEGIN { extends 'Catalyst::Controller'; }
use MyApp::Form::Book;
has 'edit_form' => ( isa => 'MyApp::Form::Book', is => 'rw',
    lazy => 1, default => sub { MyApp::Form::Book->new } );
于 2013-02-09T22:40:31.077 回答