Рекурсивные блоки в шаблонах Scala Play Framework

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

Какое решение?

6
задан Felipe Hummel 9 October 2011 в 21:32
поделиться