HTML :: FormHandler持久表单类

时间:2013-02-09 22:26:56

标签: perl html-form persistent catalyst

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

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代码中放置什么来实现此目的?或者只是想知道怎么做?谢谢!

1 个答案:

答案 0 :(得分:0)

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

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 } );