Subject: | 'isa' reports "CatalystX::CRUD::Object::RDBO" in app-specific form class |
"Broken" may be the wrong word to use here. I just want to let you know
that on my platform, I had to kludge 2 lines in the app-specific form
class to bypass a questionable value returned by "isa". I followed your
CatalystX::CRUD::Tutorial v 0.31 in setting up my simple proof of
concept application.
using CatalystX::CRUD::Controller version 0.32
Tutorial example says to test in method 'init_with_album' (in my case,
'init_with_contact_methods') like so:
! $cmethods->isa( q{Dro::Contacts::CRUD::ContactMethods} )
but I had to change the test to this to get it to pass:
! $cmethods->isa( q{CatalystX::CRUD::Object::RDBO} )
Otherwise the error message following the test in that app-specific form
class is triggered - ie, 'croak "need
Dro::Contacts::CRUD::ContactMethods object"'.
The correct object is there in $cmethods; however, it does not report
the expected class name.
I couldn't figure out what is wrong, hope you can. Here is more detail.
Not sure what else might help so keeping this short.
I examined the value of $c->stash->{object} from a slightly preceding
point in the code:
CatalystX::CRUD::Controller::fetch(...w/p/Dro-Contacts/script/../lib/CatalystX/CRUD/Controller.pm:149).
This is in the fetch call that immediately precedes the call to my
local 'init_with_contact_methods'.
The whole value is probably not useful, but note these first few lines
of it:
0 CatalystX::CRUD::Object::RDBO=HASH(0x25f94f4)
'delegate' => Dro::Contacts::CRUD::ContactMethods=HASH(0x25f94b8)
'__xrdbopriv_in_db' => 1
'__xrdbopriv_loaded_from_driver' => 'sqlite'
'__xrdbopriv_meta' => Rose::DB::Object::Metadata=HASH(0x22e350c)
'allow_auto_initialization' => 0
'auto_prime_caches' => 0
'class' => 'Dro::Contacts::CRUD::ContactMethods'
BTW, I admire your CatalystX::CRUD project highly. Hope you keep
polishing and extending it. Hope I can manage to get it to work for me
here. :-)
perl -v => This is perl, v5.8.8 built for darwin-thread-multi-2level
uname -a => Darwin gps-imac.local 9.5.0 Darwin Kernel Version 9.5.0: Wed
Sep 3 11:29:43 PDT 2008; root:xnu-1228.7.58~1/RELEASE_I386 i386