Часть веб-приложения, над которым я работаю, обрабатывает формы, которые необходимо привязать к коллекции экземпляров модели (класса случая). См. этот вопрос
Итак, если бы я добавил несколько пользователей одновременно, поля формы были бы названы email[0]
, email[1]
, password[0]
, password[1]
и т. д.
Публикация формы приводит к Map[String, Seq[String]]
Теперь то, что я хотел бы сделать, это обрабатывать карту партиями по индексу, чтобы для каждой итерации я мог привязывать экземпляр пользователя, создавая List[User]
в качестве конечного результата привязок.
Взломанный подход, о котором я думаю, состоит в том, чтобы сопоставить регулярное выражение с "[\d]"
в ключах карты, а затем найти самый высокий индекс с помощью фильтра или подсчета; с этим, затем (0..n).toList map{ ?? }
через количество строк поля формы, вызывая метод привязки/проверки (который также принимает Map[String, Seq[String]]
) соответственно.
Каков краткий способ добиться этого?