开发者

How to access the real App in prepare_arguments in Catalyst::Model::Adaptor

开发者 https://www.devze.com 2023-01-23 06:50 出处:网络
I\'ve got a catalyst specific model class that I\'d like to instanciate by wrapping it with the help of a Catalyst::Model::Adaptor

I've got a catalyst specific model class that I'd like to instanciate by wrapping it with the help of a Catalyst::Model::Adaptor

package MyClass;
use Moose;
has 'c' => ( is => 'ro' , isa => 'Catalyst' );
1;

package MyAPP::Model::MyClass
use base 'Catalyst::Model::Adaptor';
sub prepare_arguments {
       my ($self, $app) = @开发者_运维知识库_; # $app sometimes written as $c
       return { c => $app };
}
1;

The problem is that here $app is not an instance of MyAPP, but just the class name 'MyApp' .

How do I access the instance of MyApp from this method?


It's impossible. If you need an instance of the app, you need to build the model per request. Catalyst::Model::Factory::PerRequest will help!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号