Почему 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 %>