0

私はプレイフレームワークが初めてで、プレイ 2.0.4 のチュートリアルに従っています。ページをレンダリングしようとするとエラーが発生します。チュートリアルでは、タスクのリストとタスクフォームをパラメーターとしてrenderメソッドに配置していることがわかりますが、このメソッドは文字列パラメーターのみを受け入れます。これらのパラメーターを渡すにはどうすればよいですか?

public static Result tasks() {
    return ok(
        views.html.index.render(Task.all(), taskForm) 
    ); //render only accepts String parameters at least in play 2.0.4
}
4

1 に答える 1

2

私はあなたがこれについて話していると思います:チュートリアル

このチュートリアルの冒頭で、ファイルindex.scala.htmlはStringをパラメーターとして取ります。index.scala.htmlファイル全体は次のようになります。

@(message: String)

@main("Welcome to Play 2.0") {

@play20.welcome(message)

}

この部分:@(message: String)コントローラーのメソッドindex.render(someString)に渡すことができるパラメーターホイッチの定義です。

さらに、このチュートリアルでは、index.scala.htmlの内容を次のように変更します。

@(tasks: List[Task], taskForm: Form[Task])

@import helper._

@main("Todo list") {

<h1>@tasks.size() task(s)</h1>

<ul>
    @for(task <- tasks) { 

...........。

メソッドindex.renderのパラメーターの定義は、次のように変更されます。@(tasks: List[Task], taskForm: Form[Task])その後、コントローラーコードを呼び出すことができます。

return ok(
views.html.index.render(Task.all(), taskForm)
);

index.scala.htmlファイルを更新するのを忘れたと思います。

于 2013-01-17T16:44:03.147 に答える