Я новичок в Scala / Lift, и у меня возникают проблемы с отображением списка с необязательными тегами для каждого элемента.
Мой HTML-шаблон говорит
<lift:Items.list>
<e:name>Rock</e:name><br />
<e:warning><span style="color:#ff0000;">DANGER!</span></e:warning>
</lift:Items.list>
А на Items.scala у меня
def list(node : NodeSeq) : NodeSeq = {
getItems flatMap( it => {
Helpers.bind("e", node,
"name" -> { Text(it.name) },
"warning" -> {
if (it.isDangerous) { <<INSERT HTML FROM TEMPLATE>> }
else { Text("") }
}
)
})
}
Я бы хотел, чтобы в некоторых случаях содержимое тега "e: warning" отображалось дословно. Я уверен, что есть простой способ извлечь их из "узла", но я предполагаю, что у меня есть некоторые серьезные пробелы в моих знаниях Лифта, потому что я не могу понять, как
Если бы кто-нибудь мог указать мне правильную процедуру, я был бы очень благодарен.
ОТВЕТИЛ:
Спасибо за совет. В итоге я структурировал свой код так:
"warning" -> { (n : NodeSeq) => {
if (it.isDangerous) { n } else { Text("") }
}}