I’m using D1, and have a before hook that sets a var with a payload of
session/client-specific values. This works well when running D1 normally as a
web app. However there are a few tasks that need to run via a daily cron job,
for which I load D1 manually. In those cases I lose the vars setting, even if
I set them manually, knowing the hook does not execute.
The following snippet:
use strict;
use Dancer ':syntax';
Dancer::Config::setting('appdir', '/home/s1/www/');
Dancer::Config::setting('views', '/home/s1/www/views');
config->{'environment'} = 'development';
Dancer::Config::load();
var hello => "hi, I used var";
set hello => "hi, I used set";
print template('test', {}); # uses Template Toolkit
with the following template test.tt:
Hello using vars = <% vars.hello %>
Hello using settings = <% settings.hello %>
yields:
Hello using vars =
Hello using settings = hi, I used set
In this case, ‘vars’ is not passed on to Template Tookit, whereas ‘settings’
is. If I had run this within a normal D1 route, ‘vars’ would have been passed.
So it appears I need to refactor the entire (large) application to use “set”
and not “var”. Is this correct? Why isn’t “var” the correct option here? Or
if it is, what am I doing wrong?
Thx in advance!
Hermann
_______________________________________________
dancer-users mailing list
[email protected]
http://lists.preshweb.co.uk/mailman/listinfo/dancer-users