2011-11-25 15 views
5

Mi piacerebbe fare qualcosa del genere.Parametro dinamico nel modello Scala per PlayFramework

Qui è il modello principale:

@(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> 

E qui è un altro:

@(user: User) 

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

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

} 

Più tardi non funziona perché non è riuscito con la "@ user.email" nel titolo parametro.

Come posso farlo?

PS: So che posso farlo in un altro modo (aggiungi "- NomeSito" nel modello principale) ma è solo un esempio per capire come funziona Scala.

risposta

6

dovete concatenare le stringhe, proprio come fosse normale codice Scala (perché è):

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

Tutto all'interno @() viene trattato come codice Scala.

+0

Sembra ovvio ora mi hai detto :) Grazie. Ho bisogno di un po 'di caffè, penso. :) – Zofren

+0

Sì, avevo già il mio;) –

Problemi correlati