我希望這被標記爲dup,但是我已經搜索並搜索了,找不到任何類似的問題,更不用說答案了。當Mojolicious模板發生錯誤時,您會看到一個顯示所有會話數據的頁面。在Mojolicious中,我如何顯示會話數據?
對於調試,我創建了一個包含故意錯誤「轉儲」頁面中,但似乎是低效的蟎。是否有一種簡單的方法(如已定義的幫助程序)將相同的格式良好的信息附加到我正在調試的頁面上?
我希望這被標記爲dup,但是我已經搜索並搜索了,找不到任何類似的問題,更不用說答案了。當Mojolicious模板發生錯誤時,您會看到一個顯示所有會話數據的頁面。在Mojolicious中,我如何顯示會話數據?
對於調試,我創建了一個包含故意錯誤「轉儲」頁面中,但似乎是低效的蟎。是否有一種簡單的方法(如已定義的幫助程序)將相同的格式良好的信息附加到我正在調試的頁面上?
你是指像HTML模板一樣的頁面嗎?你只需將其插入到HTML註釋上任何地方的任何模板:
% if ($debug_mode) {
% my $session_dump = Data::Dumper::Dumper($self->session);
<!-- session data is: <%= $session_dump %> -->
% }
然後查看網頁的源文件時,要檢查會話數據。
而不是拋出一個錯誤,你可以打電話render_exception
(這是拋出一個錯誤),但即使這不是最好的主意。你應該嘗試使用絕佳的Mojolicious::Plugin::ConsoleLogger,它會將你想要的所有信息發送到瀏覽器的JavaScript控制檯。
然後我會給你一個+1,但是,我希望找到一個幫助者,我可以在頁面上包含一個幫助器,以便將所有內容都轉儲到那裏。 – samwyse
如果你想看到你正在渲染的頁面(即不是你上面顯示的500頁),你會怎麼看到調試輸出?它會去哪裏?這是控制檯的用途。如果你想實際渲染500像這樣的信息,你可以從[異常模板]中複製代碼(https://github.com/kraih/mojo/blob/master/lib/Mojolicious/templates/exception.development .html.ep),但是不存在你所問的問題。 –
您不必爲此加載Data :: Dumper。其中一個內置的幫手是 Data :: Dumper。
% if ($debug_mode) { dumper $session; }
或特定值:
% if ($debug_mode) { dumper $session->some_value; }
我給這個+1,因爲我已經在做在我的網頁類似的東西:
我想要什麼,但是,是容易製造很好格式化的輸出,我現在已經添加到我原來的問題。 – samwyse