8
próbuję użyć funkcji w widoku odtwarzania szablonuzdefiniować funkcję Scala w szablonie zabaw
@active(path: String):String = @{
var active:String = ""
if (request.path.startsWith(path)) {
active = "class=\"active\""
}
return active
}
<div class="container-fluid">
....
<li @active("/page") ...>
Kompilator gra mówi, że nie może znaleźć wartość aktywna. Co jest nie tak?
Po pierwsze, drugi symbol @ jest niepotrzebny. Po drugie, czy zdefiniowałeś funkcję @active w jej własnym pliku i/lub zaimportowałeś? – korefn
Teraz przeniosłem go do własnego pliku. W ten sposób działa. To też jest w porządku, ponieważ potrzebuję tego również w innych plikach. – myborobudur
@korefn: W rzeczywistości drugi symbol @ mówi Play, że jest to blok tego, co dokumentacja Play nazywa "czystym" (czyli Scala) kodem, w przeciwieństwie do sekcji szablonu HTML. Jeśli pominie ten @, funkcja zwróci "var active: String ... etc." jako tekst dosłowny. –