0

Play 2 フレームワークを使用して scala でフォームを作成しましたが、すべてのフィールドを取得するのに問題がありました: 2 つのフィールドのみでテストする前に、それは機能します:

def subscription = Action {
  implicit request =>
  signForm.bindFromRequest.fold(
    errors => BadRequest,
    {        
      case (username, password) =>

        User.create(User(username, password))
        Ok(views.html.index(userForm, "visible", "User created."))
    }
  )
}

しかし、2 つ以上のフィールドが必要な場合は機能しません。

def subscription = Action {
  implicit request =>
  signForm.bindFromRequest.fold(
    errors => BadRequest,
    {        
      case (username, password, firstname, lastname, company) =>

        User.create(User(username, password, firstname, lastname, company))
        Ok(views.html.index(userForm, "visible", "User created."))
    }
  )
}

それは私を示しています:コンストラクターは期待される型にインスタンス化できません。見つかった: (T1、T2、T3、T4、T5) 必要: (文字列、文字列)

case() に 2 つ以上のパラメーターを指定できないことは理解していますが、この場合、他のフィールドを取得するにはどうすればよいですか?

4

1 に答える 1

2

問題に対する答えは、エラー メッセージにあります。フォームsignFormは (String, String) として定義されており、追加のフィールドを含めるように拡張する必要があります。フォームのコードを含めると、より詳細な回答が得られます。

于 2013-09-18T15:36:31.893 に答える