Я пишу шаблон для блога, в котором есть комментарии.Естественный способ написания шаблона для многопоточных комментариев - использование рекурсивного способа построения HTML.Примерно так:
@showComment(comment: models.Comment) = {
<div class="comment">
<div class="comment-metadata">
<span class="comment-author">by @comment.author,</span>
<span class="comment-date">
@comment.postedAt.format("dd MMM yy")
</span>
</div>
<div class="comment-content">
<div class="about">Detail: </div>
@Html(comment.content.replace("\n", "<br>"))
</div>
<a href="@action(controllers.Application.replyComment(comment.id()))">Reply</a>
@comments filter { c => c.parent_id == comment.id } map {
c => @showComment(c)
}
</div>
}
Проблема в том, что при использовании рекурсивного блока выдается ошибка:
Возникла ошибка: рекурсивный метод showComment требует тип результата
Если я пытаюсь вставить тип возвращаемого значения в showComment, возникает ошибка:
Возникла ошибка: не найдено: значение showComment
Есть ли обходной путь?