2014-03-07 14 views
1

此:我做了什么错试图调用与形式值模型

def signup = Action { implicit request => 
    signupForm.bindFromRequest.fold(
     formWithErrors => BadRequest(html.login(loginForm,formWithErrors)), 
     signer => 
     Signup.insert(signer) 
     Redirect(routes.Application.login) 
    ) 
    } 

给我这个错误(值重定向不是诠释可能的原因成员:也许一个分号'值重定向前失踪“)

如果我注释掉Signup.insert(签名者)的罚款,但我希望它调用...

但是当我使用此以其优良:

def save = IsAuthenticated { username => implicit request => 
    User.findByEmail(username).map { user => 
     personForm.bindFromRequest.fold(
     formWithErrors => BadRequest(html.person_views.createForm(formWithErrors, user)), 
     person => { 
     Person.insert(person) 
     Redirect(routes.Persons.list()).flashing("success" -> "success") 
     } 
    ) 
    //}.getOrElse(Forbidden) 
    }.getOrElse(Forbidden) 
    } 

回答

1

试试这个:

def signup = Action { implicit request => 
    signupForm.bindFromRequest.fold(
     formWithErrors => BadRequest(html.login(loginForm,formWithErrors)), 
     signer => { 
     Signup.insert(signer) 
     Redirect(routes.Application.login) 
     } 
    ) 
} 

基本上,它的方式是以前写的就像你写:

Signup.insert(signer) Redirect(routes.Application.login) 

这意味着,当insert完成后,应用Redirect方法的结果,我认为insert的结果是Int,因此错误信息:

valu e重定向不是Int的成员可能的原因

+0

该死的你括号 - 谢谢 – mbrambley