1

私はPlay2テンプレートを持っています:

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

ファイルをドロップダウン形式の選択で表示したいのですが、ファイルが存在する場合のみです!

どうすればいいですか?

4

1 に答える 1

0

Julien Lafontが言ったように、テンプレートに渡す前に、このリストを変換することを検討する必要があります。たとえば、読み取ったファイルのリスト(を呼び出すことができます)が必要な場合は、次のようにfilenameします。id

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

また、ファイル名とそのIDを取得したいだけの場合(IDがBSONObjectIDsの場合)、次のように記述できます。

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.
于 2013-03-14T12:36:51.660 に答える