【发布时间】:2014-02-26 19:51:50
【问题描述】:
在 Catalyst 框架中有一个全局的 init 子(在任何控制器之前执行)。我想从 DB 中设置一些 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} 是空的..
【问题讨论】:
-
这里似乎没有问题。
-
我认为这是“如何从 DB 中设置配置变量?”,但这很模糊。这将有助于更准确地了解遇到了什么问题。