Peter Karman wrote on 07/28/2009 07:51 AM:
Amiri Barksdale wrote on 7/27/09 8:46 PM:
On Thu, Jul 16, 2009 at 11:33:38PM -0500, Peter Karman wrote:
| Also, your controller inherits from the base CatalystX::CRUD::Controller,
which
| doesn't really *do* anything by default. I.e., you need a form handler to
| serialize and validate your model. Look at CatalystX::CRUD::Controller::RHTMLO
| for one example. Or consider writing a controller base class that adapts your
| favorite form handler (HTML::FormFu or Form::Processor or ...).
I am making quite a bit of headway with this, and I have chosen
HTML::FormHandler as...my form handler.
I am having some difficulty integrating the two, though. A controller
and a form that it uses look like this:
http://scsys.co.uk:8001/31717
When I start the server and try to look at ui/crud/creator/list, I get
this error:
Caught exception in ml2::Controller::UI::CRUD::Creator->auto "Attribute
(form) does not pass the type constraint because: Validation failed for
'ml2::Forms::CreatorForm' failed with value ml2=HASH(0xd27cf30) (not isa
ml2::Forms::CreatorForm) at
/home/amiri/mlrepo/lib/perl5/CatalystX/CRUD/Controller.pm line 110
Instead of C::X::CRUD loading the form, it is loading the whole
application class.
Is my controller still misconfigured?
no, it's a bug in the documentation. The default form() method looks like this:
sub form {
my ( $self, $c ) = @_;
# ...
}
and so your override needs to expect $c as well.
I should clarify further. Your controller code:
has 'form' => (
isa => 'ml2::Forms::CreatorForm',
is => 'rw',
default => sub { ml2::Forms::CreatorForm->new },
);
is moreorless what the base controller does. So by having that 'has'
declaration, you break it. Try taking the 'has' declaration out and see
if that works.
--
Peter Karman . http://peknet.com/ . [email protected]
gpg key: 37D2 DAA6 3A13 D415 4295 3A69 448F E556 374A 34D9
_______________________________________________
List: [email protected]
Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst
Searchable archive: http://www.mail-archive.com/[email protected]/
Dev site: http://dev.catalyst.perl.org/