播放框架:无法在另一个视图中调用视图(函数)(@content not found)

play-framework : can't call view (function) in another view (@content not found)

我在将一个视图调用到另一个视图时遇到问题...我似乎无法理解事情是如何进行的... 所以我有这个观点(NewArea.scala.html):

@(content: Html)(k:String)
@Main("Add new Area") {    

<nav class="navbar navbar-default">
    ....
 <li><a href="@routes.Application.newarea(k)">New Area </a></li>
    ...
</nav>

<div class="col-md-offset-1 col-md-4">    
    @content
</div>

}

rout:

GET     /newarea                controllers.Application.newarea(id:String)

controller:

 public static Result newarea(String id){
        return ok(newarea.render(id));
    }

还有 @content ,我想成为这个视图 (newarea.scala.html):

@(k:String)

@NewArea("") {

<form action="@routes.Application.PostNewArea(k)" method="POST">

   Area name :  <input name="name">     
   <input type="submit">

</form>
}

我收到这个错误:

not found: value content
@(content: Html)(k:String)

主要 (Main.scala.html) 模板如下所示,如果有帮助:

@(title: String)(content: Html)

<!DOCTYPE html>

<html>
    <head>
        <title>@title</title>
    </head>
    <body>
        @content
    </body>
</html>

有人可以解释一下,在这个例子中,如何正确地做事吗? 谢谢!

改变

@(content: Html)(k:String)

@(k:String)(content: Html)

NewArea.scala.html

Scala 模板就像是 fuctions.When 你定义 NewArea.scala.html 你说 NewArea 采用 Html,String 类型的参数,但是当您调用它时,您传递的是 String,Html 顺序不相同,因此会出错。

Play Docs