2012-10-12 21 views
6

के साथ लाइट मैं टेम्पलेट टूलकिट को Mojolicious :: लाइट में डिफ़ॉल्ट रेंडरर के रूप में काम करने की कोशिश कर रहा हूं। मैं क्या है:Mojolicious :: टेम्पलेट टूलकिट

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. 

यह है कि मैं क्या 'प्रस्तुत करना' के लिए पैरामीटर के रूप में पारित की परवाह किए बिना होता है। मुझे यह पता लगाना प्रतीत नहीं होता कि इसमें से कोई भी उपयोगी डीबगिंग जानकारी कैसे प्राप्त करें; लेकिन मैंने पहले मोजो का उपयोग नहीं किया है।

मैंने कुछ warn बयान में छिड़कने की पुष्टि की है कि मेरे get हैंडलर को बुलाया जा रहा है।

+0

'TMPL_ROOT'' INCLUDE_PATH' होने का मतलब था? 'टेम्पलेट :: टूलकिट' कुछ भी प्रस्तुत नहीं करता है अगर यह टेम्पलेट नहीं ढूंढ पाता है। – RobEarl

+0

एएके, हाँ, यह सुनिश्चित नहीं है कि 'TMPL_ROOT' कहां से आया था। (यह शुक्रवार है।) हालांकि मैं अभी भी वही व्यवहार देख रहा हूं। :( – friedo

उत्तर

8

Mojolicious::Plugin::TtRenderer::Engine के source को देखने के बाद, मैंने इसे समझ लिया। प्लगइन टेम्पलेट टूलकिट को पास INCLUDE_PATH विकल्प को अनदेखा करता है, और इसके बजाय $app->renderer_paths से पथ प्राप्त होता है। तो मेरे कोड को अद्यतन करने के लिए अद्यतन करना:

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

यह काम करता है।

संबंधित मुद्दे