Применение класса Case к индивидуальной области в вложенной форме Scala Play

StackOverflow https://stackoverflow.com//questions/23000769

Вопрос

Я пытаюсь применить класс корпуса на отдельное поле внутри формы Scala Play.Поле, которое я пытаюсь, это применимо, это генеракодицетагкод внутри переменной генеракодицетагкода.

  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)
  )
.

Мне было интересно, может ли кто-нибудь дать мне любую понимание этого.

Спасибо!

Это было полезно?

Решение

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)
)
.

Я бы также порекомендовал изменить название поля ExamseName на «имя», чтобы избежать путаницы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top