Я пишу шаблон для сообщения в блоге, в котором есть цепочки комментариев. Естественный способ написания шаблона для цепочек комментариев, он использует рекурсивный способ построения 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
Какое решение?