0

HTML :: FormHandlerを使用していますが、コントローラークラスのmoose属性にすることで、フォームを永続的にしたいと考えています。HTML :: FormHandlerのマニュアルイントロドキュメントでは、次のように述べています。

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

だから私は解決策を見つけることになった。例は、CatalystでHTML :: FormHandlerを使用する方法に関するドキュメントの別のセクションにありました: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 に答える