我正在使用 Play Framework 2,并希望在使用表单和验证时尽量减少代码重复。
我有呈现表单并处理表单提交的控制器:
def create() = Action { implicit request =>
//create form
//DB calls to build comboboxes and tables
Ok(views.html.create(form, ...))
}
def handleCreate() = Action { implicit request =>
createForm.bindFromRequest().fold(
formWithErrors => {
//DB calls to build comboboxes and tables
BadRequest(views.html.create(formWithErrors, ...))
},
obj => {
//other logic
})
}
问题是//DB calls to build comboboxes and tables
部分原因。我不想复制这部分。create
当然,我可以将它提取到方法中,然后在handleCreate
方法中调用它。
有没有更优雅的方式来处理这段代码?
谢谢!