Как получить доступ к настоящему приложению в prepare_arguments в Catalyst :: Model :: Adapter - PullRequest
0 голосов
/ 02 ноября 2010

У меня есть класс модели катализатора, который я хотел бы создать, обернув его с помощью Catalyst :: Model :: Adapter

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;

Проблема в том, что здесь $ appне является экземпляром MyAPP, а просто именем класса «MyApp».

Как получить доступ к экземпляру MyApp из этого метода?

1 Ответ

2 голосов
/ 04 ноября 2010

Это невозможно.Если вам нужен экземпляр приложения, вам нужно построить модель для каждого запроса. Catalyst :: Model :: Factory :: PerRequest поможет!

...