Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Dancer Arrayref to Template

by packetstormer (Monk)
on Nov 01, 2013 at 20:34 UTC ( #1060837=perlquestion: print w/ replies, xml ) Need Help??
packetstormer has asked for the wisdom of the Perl Monks concerning the following question:

Hello

I have a strange problem where an arrayref I send to Template, using Dancer, isn't being displayed correctly. I can't see the woods for the trees now so I hope someone can spot what I am doing wrong! The test arrayref rolls out fine, but the files arrayref just prints the hashrefs to screen!??

use Dancer; use DBI; use Template; use Data::Dumper; set 'database' => 'files.db'; set 'log' => 'debug'; set 'logger' => 'console'; get '/' => sub { my $db = connect_db(); my $sql = 'select * from table'; my $sth = $db->prepare($sql) or die $db->errstr; $sth->execute or die $sth->errstr; my $files = $sth->fetchall_arrayref({}); template 'show_entries.tt', { 'files' => $files, 'test' => [1,2,3,4,5] }; }; sub connect_db { my $dbh = DBI->connect("dbi:SQLite:dbname=".setting('database') ) or + die; return $dbh; }
And the template file:
<% FOREACH line IN files %> <% line.title %><br /> <% END %> <br /> <% FOREACH also IN test %> <% also %> <% END %>

Comment on Dancer Arrayref to Template
Select or Download Code
Re: Dancer Arrayref to Template
by dasgar (Deacon) on Nov 01, 2013 at 21:12 UTC

    By default, Dancer uses a simple templating system that has syntax that is very similar to Template::Toolkit. However, you can only pass scalars and you don't have other control stuff (like if statements, loops, etc.). If you try to pass an array or hash to the template with the default templating system choice, the variable in the template will only have the array reference or hash reference.

    In order to use Template::Toolkit, you need to have template: template_toolkit in your config.yml file or set template => 'template_toolkit'; in your code itself. Look at the Dancer::Config, Dancer::Template and Dancer::Template::Simple documentation for more details.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1060837]
Approved by Old_Gray_Bear
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (11)
As of 2014-08-01 14:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Who would be the most fun to work for?















    Results (22 votes), past polls