映射到表单使用reactivemongo选择Scala Play2

时间:2013-03-13 21:14:01

标签: scala playframework-2.0

我有Play2模板:

files: Option[List[(String, reactivemongo.api.gridfs.ReadFile[reactivemongo.bson.BSONValue])]]

我想以下拉形式显示文件选择,但仅当文件存在时才显示!

我该怎么做?

1 个答案:

答案 0 :(得分:0)

正如Julien Lafont所说,在将此列表提供给模板之前,您应该考虑对其进行转换。例如,如果您只想要一个读取文件列表(您可以在其上调用filenameid):

val fileList = files.toList.flatten.map(_._2) // fileList is a List[ReadFile[BSONValue]]]

如果您只想获取文件名及其ID(假设其ID为BSONObjectID s),您可以写下:

val fileList = files.toList.flatten.map { file =>
  val id = file._2.id match {
    case oid: BSONObjectID => oid.stringify
    case id => id.toString
  }
  id -> file._2.filename
}
// fileList is a List[(String, String)] where the first element of the tuple is a string version of the id and the second is the name of the file.