2016-05-03 80 views
0

該代碼查找系統並將其與來自表單的收到的系統進行比較。如何進行未來的備份

如果在DB中找到了faculty,那麼它會將該組添加到數據庫中,然後將其實際重定向到同一頁面,但在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

也許是這樣的:

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

使用if語句時一個換理解內側Future·您應該小心。你可以得到一個例外...... :)(沒有任何處理它)