Не имеет смысла иметь аргумент по умолчанию в собственной группе аргументов:
@(level: String = "error")(body: (String) => Html)
Обратите внимание, как пример "moreScripts and moreStyles" в Шаблоны Scala распространены помещает аргумент по умолчанию с другим аргументом:
@(title: String, scripts: Html = Html(""))(content: Html)
Вы можете сделать то же самое:
@(body: (String) => Html, level: String = "error")
Примечание: не очень хорошая идея полагаться на строкиразличать успех / предупреждение / ошибку.Строки хрупкие и подвержены опечаткам, которые скрывают ошибки раздражающими способами.Вместо этого ищите тип данных или создайте свой собственный, чтобы представить это: таким образом, опечатки станут ошибкой компилятора.
class ResultType
case object Success extends ResultType
case class Warning(message: String) extends ResultType
case class Error(message: String) extends ResultType