2

ダンサーで配列アイテムを表示しようとしています。コードは次のとおりです。

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要素には何も表示されませんが、正しい方法は何ですか?

4

1 に答える 1

6

Dancerデフォルトのテンプレートエンジンを使用している場合は、単純なスカラー値以外は渡すことができません。しかし、エンジンとして有効にするTemplate::Toolkitと、あらゆる種類のことが可能になります。

template: template_toolkitこれは、YAML構成ファイルで設定することでグローバルに行うことができます。または、次のように記述して、このルートに対してのみ設定することもできます。

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いずれかの方法を使用する前にモジュールをロードする

于 2012-07-28T03:51:41.140 に答える