【问题标题】:Applying case class to indidual field in a nested form Scala Play以嵌套形式将案例类应用于单个字段Scala Play
【发布时间】:2014-04-11 09:39:03
【问题描述】:

我正在尝试将案例类应用于 Scala Play 表单中的单个字段。我尝试将其应用到的字段是 exerciseNamesetsForm 变量内。

  case class ExerciseName(exerciseName:String)
  case class WorkoutSet(exerciseName:ExerciseName, number:Int)
  case class WorkoutSets(sets:List[WorkoutSet]) 
  val setsForm:Form[WorkoutSets] = Form( 
    mapping( 
      "workoutSets" -> list(mapping
      (   
        //i need to get exerciseName to be of type ExerciseName somehow...
        "exerciseName" ->nonEmptyText,  
        "workoutSet" -> number(min=1,max=20)
        )(WorkoutSet.apply)(WorkoutSet.unapply))
    )(WorkoutSets.apply)(WorkoutSets.unapply)
  )

我想知道是否有人可以就此提供任何见解。

谢谢!

【问题讨论】:

    标签: scala playframework playframework-2.0


    【解决方案1】:
    val setsForm:Form[WorkoutSets] = Form(
        mapping(
          "sets" -> list(
            mapping(
              "exerciseName" -> mapping("exerciseName" -> nonEmptyText)(ExerciseName.apply)    (ExerciseName.unapply),
              "workoutSet" -> number(min=1,max=20)
            )(WorkoutSet.apply)(WorkoutSet.unapply)
          )
        )(WorkoutSets.apply)(WorkoutSets.unapply)
    )
    

    我还建议将练习名称的字段名称更改为“名称”以避免混淆。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-19
      • 2013-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-10
      • 2023-02-17
      相关资源
      最近更新 更多