我希望这会被标记为重复,但我已经搜索和搜索,找不到任何相似的问题,更不用说答案了。当 Mojolicious 模板出现错误时,您会得到一个显示所有会话数据的页面。
为了调试,我创建了一个包含故意错误的“转储”页面,但这似乎效率低下。是否有一种简单的方法(如已定义的帮助程序)将相同格式正确的信息附加到我正在调试的页面?
我希望这会被标记为重复,但我已经搜索和搜索,找不到任何相似的问题,更不用说答案了。当 Mojolicious 模板出现错误时,您会得到一个显示所有会话数据的页面。
为了调试,我创建了一个包含故意错误的“转储”页面,但这似乎效率低下。是否有一种简单的方法(如已定义的帮助程序)将相同格式正确的信息附加到我正在调试的页面?
您可以调用render_exception
(这是抛出错误的作用),而不是抛出错误,但即使这样也不是最好的主意。您应该尝试使用 tempire 出色的Mojolicious::Plugin::ConsoleLogger,它将您可能想要的所有信息发送到浏览器的 javascript 控制台。
您不必为此加载 Data::Dumper。内置助手之一是Data::Dumper。
% if ($debug_mode) { dumper $session; }
或特定值:
% if ($debug_mode) { dumper $session->some_value; }
您是指像 HTML 模板这样的页面吗?您可以将其插入到任何模板上的任何位置的 HTML 注释中:
% if ($debug_mode) {
% my $session_dump = Data::Dumper::Dumper($self->session);
<!-- session data is: <%= $session_dump %> -->
% }
然后在您要检查会话数据时查看页面源。