[Catalyst] Model classes based on external Class::DBI modules
    Ken Youens-Clark 
    kyclark at gmail.com
       
    Tue Oct 25 00:08:55 CEST 2005
    
    
  
Hi,
In trying to learn Catalyst, I've copied the Hops example CRUD app  
and have been hacking on that.  I want to use my own Class::DBI  
classes defined outside of Catalyst as described here:
     http://search.cpan.org/~agrundma/Catalyst-5.49_01/lib/Catalyst/ 
Manual/Intro.pod
>  ...since many people have existing Model classes that they would  
> like to use with Catalyst (or, conversely, they want to write  
> Catalyst models that can be used outside of Catalyst, e.g. in a  
> cron job), it's trivial to write a simple component in Catalyst  
> that slurps in an outside Model:
>
>     package MyApp::M::Catalog;
>     use base qw/Catalyst::Base Some::Other::CDBI::Module::Catalog/;
>     1;
I have one file that contains all my Class::DBI classes that looks  
kinda like this:
> package QTL::CDBI;
>
> use Class::DBI;
>
> use base qw( Class::DBI );
>
> QTL::CDBI->connection( ... );
>
> # ------------------------------------------------
> package QTL::CDBI::Qtl;
>
> use base qw( QTL::CDBI );
>
> QTL::CDBI::Qtl->table('qtl');
> ...
> # ------------------------------------------------
> package QTL::CDBI::QtlDbxref;
>
> use base qw( QTL::CDBI );
>
> QTL::CDBI::QtlDbxref->table('qtl_dbxref');
> ...
>
> 1;
In my "QTL::M::CDBI" module, I have this:
> package QTL::M::CDBI;
>
> use lib '/home/kclark/lib';
>
> use base qw( Catalyst::Base QTL::CDBI );
>
> 1;
But when I try to use my app, I'm getting this error on "/catalyst/ 
qtl/qtl/list/":
Caught exception "Can't locate object method "loader" via package  
"QTL::M::CDBI" at /home/kclark/work/catalyst/QTL/lib/QTL.pm line 21."
I also tried adding "Catalyst::Model::CDBI::Plain" to the mix, but  
that didn't fix anything.
What am I missing?
ky
    
    
More information about the Catalyst
mailing list