Play 2.1.1 の完全な (しかし単純な) フォームの例を次に示します。ビュー、コントローラー、およびルートファイルを含みます。インポートや暗黙のリクエストが欠落していると思われます。どちらも分かりやすいでしょう!
コントローラー (Application.scala):
package controllers
import play.api._
import play.api.mvc._
import play.api.data._
import play.api.data.Forms._
object Application extends Controller {
val form = Form(
tuple(
"firstname" -> text,
"lastname" -> text
)
)
def index = Action {
Ok(views.html.index())
}
def submit = Action { implicit request =>
val (fname, lname) = form.bindFromRequest.get
Ok("Hi %s %s".format(fname, lname))
}
}
ビュー (index.scala.html):
<!DOCTYPE html>
<html>
<head>
<title>Form example</title>
</head>
<body>
<form method="post" autocomplete="on">
First name:<input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
<input type="submit">
</form>
</body>
</html>
そしてルート:
GET / controllers.Application.index
POST / controllers.Application.submit
注意: HTML ビューの name 属性は、コントローラー フォームの文字列リテラルと一致する必要があります。
それが役立つことを願っています。