我正在制作一个简单的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.有人知道我做错了什么,或者你需要更多代码吗?
感谢。
答案 0 :(得分:3)
看起来您需要将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 %>