Почему Template Toolkit не объединяет мой счетчик?

Я работаю над простым приложением Dancer для регистрации книг, которые прочитал человек, но в моем шаблоне, чтобы показать, сколько книг прочитал человек, я сталкиваюсь с ошибкой. Я пытаюсь просмотреть все строки в таблице экземпляров чтения и добавить 1 к счетчику, если читатель совпадает с указанным человеком.

Вот код для шаблона:

<ul class="people">
<% IF people.size %>
  <% FOREACH id IN people.keys.nsort %>
    <li><h2 style="display: inline;"><% people.$id.name %></h2><br />
    Born <% people.$id.birthday %><br />
    <% FOREACH reader IN readings.keys.nsort %>
      <% count = 0 %>
      <% IF readings.$reader.person_id == people.$id.id %>
        <% count = count + 1 %>
      <% END %>
    <% END %>
    <% count %>
  <% END %>
<% ELSE %>
  <li><em>Unbelievable.  No people here so far</em>
<% END %>
</ul>

Тем не менее, когда я показываю его, счет только 1. Кто-нибудь знает, что я делаю неправильно, или вам нужно больше кода?

Благодарю.

1 ответ

Решение

Похоже, вам нужно вытащить count инициализация из FOREACH reader цикл:

<% FOREACH id IN people.keys.nsort %>
  <li><h2 style="display: inline;"><% people.$id.name %></h2><br />
  Born <% people.$id.birthday %><br />
  <% count = 0 %>
  <% FOREACH reader IN readings.keys.nsort %>
    <% IF readings.$reader.person_id == people.$id.id %>
      <% count = count + 1 %>
    <% END %>
  <% END %>
  <% count %>
<% END %>
Другие вопросы по тегам