2016-05-03 5 views
0

このコードでは、学部を探し、それを受験した教員のフォームから比較します。今後どのようにバックアップを取るのですか

DB内でこのグループをDBに追加した後で、そのページを実際に同じページにリダイレクトしますが、これはGET(これはPOSTメソッド)です。

問題は、を追加していないと、がリダイレクトする必要があることです。たぶん、誰かがこれをシンプルで分かりやすくする方法を知っていますか?

たぶん
def addGroup() = Action.async { 
    implicit request => 
     GroupForm.form.bindFromRequest.fold(
     errorForm => ???, 
     data => { 
      (for { 
      seqOfFaculties <- FacultyService.getAllFaculties 
      future <- GroupService.addGroup(Group(0, data.nameGroup, data.faculty)) if seqOfFaculties.exists(_.name == data.faculty) 
      } yield future).map(_ => Redirect(routes.GroupController.get())) 
     }) 
    } 

答えて

0

このような何か:用-理解Future sの内側にifステートメントを使用するときは注意する必要があります

FacultyService.getAllFaculties.map { seqOfFaculties => 
    if (seqOfFaculties.exists { _.name == "something" }) { 
     Ok // or something else... 
    } else { 
     Redirect(routes.GroupController.get()) 
    } 
} 

。あなたは例外を得ることができます:)(それを処理するものはありません)

関連する問題