В среде Catalyst есть глобальная подсистема init
(выполняется перед любым контроллером). я хочу установить некоторую переменную config
из БД (например, ужин администратора id
или адрес электронной почты администратора для конфигурации GPG).
я пытался использовать действия auto
и «начать», но эти действия просто выполняются для соответствующего контроллера.
в файле Root.pm
:
sub auto :Private {
my ($self, $c) = @_;
my $config = $c->model('DB')->resultset('Config')->single();
$c->config->{var1} = $config->var1;
};
Когда я запрашиваю другой контроллер, такой как Controller2
и begin
, $c->config->{var1}
был пуст..