
jon at jrock
Jun 24, 2008, 9:32 AM
Post #2 of 3
(447 views)
Permalink
|
* On Tue, Jun 24 2008, Dermot wrote: > Hi, > > I have a controller with > > use parent 'Catalyst::Controller'; > > I can't find any info on 'parent' > > I want to use FormBuilder and tried to use it like so > > use parent 'Catalyst::Controller'; > use base qw(Catalyst::Controller::FormBuilder); > > FormBuilder sends debug messages to the server but my controller can't > locate the method: > > [error] Caught exception in MyApp::Controller::Submissions->edit > "Can't locate object method "form" via package "MyApp" at line 47 > > > sub edit : Local Form { > my ($self, $c, $id) = @_; > my $sub = $c->model('MyAppDB::Submissions')->find({id => $id}); > if ($c->form->submitted && $c->form->validate) { > $sub->name($c->form->field('name')); > $c->stash->{message} = 'Updated'.$sub->name; > $c->forward('list'); > } > ...snip > > I think this is a problem of inheritance. Can any one advise? Use $self->formbuilder, not $c->form. You might enjoy this page: http://dev.catalyst.perl.org/new-wiki/thebookerrata Anyway, I'm not sure why you would think that "use base 'Catalyst::Controller::FormBuilder'" in a controller would add methods to $c, so I won't even ask. Regards, Jonathan Rockway -- print just => another => perl => hacker => if $,=$" _______________________________________________ List: Catalyst [at] lists Listinfo: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/catalyst Searchable archive: http://www.mail-archive.com/catalyst [at] lists/ Dev site: http://dev.catalyst.perl.org/
|