0

我在 scala 中使用 Play 2 框架制作了一个表单,但在获取所有字段时遇到了问题:在我仅使用 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() 不能有两个以上的参数,但是在这种情况下如何获取其他字段?

4

1 回答 1

2

问题的答案在错误消息中。您的表单signForm被定义为 (String, String),您需要对其进行扩展以包含其他字段。如果您包含表单的代码,则可以给出更详细的答案。

于 2013-09-18T15:36:31.893 回答