如何在舞者中显示数组项目?

时间:2012-07-28 02:43:53

标签: perl dancer

我尝试在舞者中显示一个数组项,这里是代码:

get '/' => sub {
  my @rows = ('aaa','bbb','ccc');
  template 'crud.tt', {'rows' => \@rows};
};

,模板是:

  <h2><% $rows[1] %></h2>
  <h2><% rows[1] %></h2>
  <% FOREACH r IN rows %>
    <p><% r %></p>
  <% END %>

在h2元素中什么都没有显示,正确的方法是什么?

1 个答案:

答案 0 :(得分:6)

如果使用默认的Dancer模板引擎,则无法传递任何除标量值之外的任何内容。但是如果你启用Template::Toolkit作为引擎,那么各种各样的事情都是可能的。

您可以通过在YAML配置文件中设置template: template_toolkit来全局执行此操作,也可以通过编写

为此路径设置它
get '/' => sub {
  my @rows = ('aaa','bbb','ccc');
  set template => 'template_toolkit';
  template 'crud.tt', { rows => \@rows };
};

您的模板看起来像

<h2><% rows.1 %></h2>
<% FOREACH r IN rows %>
<p><% r %></p>
<% END %>

你需要

use Template;

在使用任何一种方法之前加载Template::Toolkit模块