3

ドキュメントからhelloworldアプリを実行しようとしています。

次のエラーが発生します。

render(java.lang.String) in views.html.index cannot be applied to (play.data.Form<controllers.Application.Hello>)

次のコードブロックを指しています。

  /**
   * Home page
  */
  public static Result index() {
     return ok(index.render(form(Hello.class)));
  }

また、Eclipseはインデックスオブジェクトの.renderメソッドを解決できません。

the method render(String) in the type index is not applicable for the arguments (Form<Application.Hello>)

次のインポートを定義しました。

package controllers;

import play.*;
import play.mvc.*;
import play.data.*;
import play.data.validation.Constraints.*;

import java.util.*;
import views.html.*;

また、hello.scala.htmlとindex.scala.htmlは、app /views/フォルダーにあります。

私が何を間違えたのか分かりますか?

4

1 に答える 1

9

Play 2.0の各ビューは、引数を含むScala関数です。おそらく、最初に宣言されたindex.sacala.html文字列にあります。

@(message: String)

そしてそれはあなたの形でなければなりません:

コントローラー内:

final static Form<MyModel> myForm = form(MyModel.class);

public static Result blank() {
    return ok(formNew.render(myForm));
}

とビューで:

@(myForm: Form[MyModel])  
于 2012-04-05T15:27:11.100 に答える