Scala - Play: как связать поле формы с вектором? - PullRequest
0 голосов
/ 16 октября 2018

в Play 2.6 привязки форм по умолчанию для повторяющихся элементов: Seq, List и Set, например:

Form(
  "name" -> seq(text)
)

Однако я использую тип коллекции Vector для нескольких сценариев, так какон имеет лучшую общую производительность (например, для доступа на основе индекса), чем реализация по умолчанию Seq или Iterable, которая равна List (хорошая производительность для обработки линейных элементов Head или Tail при выполнении поиска по индексу).

В текущей Play 2.6 нет привязок формы по умолчанию для Vector или IndexedSeq (по умолчанию Vector).

Каков подход по умолчанию для сопоставления Vector

1 Ответ

0 голосов
/ 17 октября 2018

Вы можете определить свое собственное отображение следующим образом:

def vector[A](mapping: Mapping[A]): Mapping[Vector[A]] =
  RepeatedMapping(mapping).transform(_.toVector, _.toList)

, а затем использовать его следующим образом:

Form(
  "name" -> vector(text)
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...