[Dbix-class] question about DBIx::Class::HTMLWidget

John Napiorkowski jjn1056 at yahoo.com
Thu Jul 13 16:29:50 CEST 2006


Hi, 
 
I hope it's cool to post questions about this module on the DBIx Class list.  I'm having trouble figuring out how to use this to create new entries in the database.  I was able to get it to edit existing ones without any trouble.  I can see in the source code that it's using 'insert_or_update' so I imagine that the intention at least is for this toe be able to create new entries. 
 
Here's my source (I'm using Catalyst): 
 
sub create :Path('create') Args(0) 
{ 
    my ($self, $c) = @_; 
     
        my $roles_rs  = $c->model('db::membership::roles'); 
         
        my $form = $self->role_form($c); 
        my $result    :Stashed; 
 
        if( $c->request->method eq 'GET' ) 
        {             
            ## Get the result object 
            $result    = $form->process(); 
        } 
        elsif($c->request->method eq 'POST') 
        { 
            ## Get the result object 
            $result = $form->process($c->request); 
             
            unless ($result->has_errors) 
            { 
                ##Put DB Data 
                $roles_rs->populate_from_widget($result); 
             
                ##Return to the list 
                $c->response->redirect('/roles'); 
            } 
        } 
} 
 
And the error I get is from Catalyst is: 
 
Caught exception in talentspace_portal2::Controller::roles->create "Can't locate object method "populate_from_widget" via package "talentspace::Schema::db::membership::roles::_resultset" at /mnt/hgfs/talentspace/talentspace_portal2/script/../lib/talentspace_portal2/Controller/roles.pm line 108." 
 
I get the feeling I need to do something with: 
 
my $roles_rs  = $c->model('db::membership::roles'); 
 
But all the stuff I tried, like ->search doesn't seem to help.  Has anyone run into this before and found the solution? BTW I'm using the version from CPAN labled '0.06'.
 
 
--john




More information about the Dbix-class mailing list