gpt4 book ai didi

perl - Mojolicious::Lite 与模板工具包

转载 作者:行者123 更新时间:2023-12-04 11:27:33 24 4
gpt4 key购买 nike

我正在尝试让模板工具包作为 Mojolicious::Lite 中的默认渲染器工作。我拥有的:

use strict;
use warnings;

use Mojolicious::Lite;
use Mojolicious::Plugin::TtRenderer;
plugin tt_renderer => { template_options => { INCLUDE_PATH => './tmpl', DEBUG => 1 } };

get '/' => sub {
my $self = shift;

$self->render( 'index' );
};

app->renderer->default_handler( 'tt' );
app->start;

当我尝试访问测试服务器时,我得到:
[Fri Oct 12 14:02:02 2012] [info] Listening at "http://*:3000". 
Server available at http://127.0.0.1:3000.
[Fri Oct 12 14:02:08 2012] [debug] Your secret passphrase needs to be changed!!!
[Fri Oct 12 14:02:08 2012] [debug] GET / (Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:16.0) Gecko/20100101 Firefox/16.0).
[Fri Oct 12 14:02:08 2012] [debug] Routing to a callback.
[Fri Oct 12 14:02:08 2012] [debug] Nothing has been rendered, expecting delayed response.

无论我将什么作为参数传递给“渲染”,都会发生这种情况。我似乎无法弄清楚如何从中获得任何有用的调试信息;但我之前没有使用过 Mojo。

我已经通过撒一些 warn 来确认我的声明 get正在调用处理程序。

最佳答案

看了之后sourceMojolicious::Plugin::TtRenderer::Engine , 我想到了。该插件忽略了 INCLUDE_PATH选项传递给模板工具包,而是从 $app->renderer_paths 获取路径.所以更新我的代码以包括:

app->renderer->default_handler( 'tt' );
app->renderer->paths( [ './tmpl' ] );

使它工作。

关于perl - Mojolicious::Lite 与模板工具包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12864708/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com