Динамический параметр в шаблоне Scala для PlayFramework - PullRequest
5 голосов
/ 25 ноября 2011

Я бы хотел сделать что-то подобное.

Вот основной шаблон:

@(title: String)(content: Html)
<!DOCTYPE html>
<html>
    <head>
        <title>@title</title>
        <link rel="stylesheet" media="screen" href="@routes.Assets.at("stylesheets/main.css")">
        <link rel="shortcut icon" type="image/png" href="@routes.Assets.at("images/favicon.png")">
        <script src="@routes.Assets.at("javascripts/jquery-1.6.4.min.js")" type="text/javascript"></script>
    </head>
    <body>
        @content
    </body>
</html>

А вот еще один:

@(user: User)

@main(title = "@user.email - SiteName") {

    <b>@user.email (@user.role)</b>

}

Позднеене работает, потому что произошел сбой при использовании «@ user.email» в параметре title .

Как я могу это сделать?

PS: я знаю, что могу сделать это по-другому (добавить «- SiteName» в основной шаблон), но это всего лишь пример, чтобы понять, какСкала работает.

1 Ответ

6 голосов
/ 25 ноября 2011

Вы должны объединить строки, как если бы это был обычный код Scala (потому что он есть):

@main(title = user.email + " - SiteName") {
  <b>@user.email (@user.role)</b>
}

Все, что внутри @(), рассматривается как код Scala.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...