2014-03-07 13 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