2016-02-18 2 views
6

ich diesen Controller in Scala haben:Scala - Es kann keine Methode Rückkehr play.api.mvc.Result als Handler für Anfragen verwenden

def commonRedirect(anId: Long) = { 
implicit val aRule = CommonClient.getTheRule(anId) 
aRule match { 
    case false ⇒ Redirect("/general-rule/" + anId) 
    case true ⇒ Redirect("/custom-rule/" + anId) 
} 

}

aber, dieses Ergebnis in der Fehlermeldung: " Kann keine Methode verwenden, die play.api.mvc.Result als Handler für Anfragen zurückgibt ".

Wenn ich einen Action Builder anwende, funktioniert es, aber das ist nicht die Art, die ich will.

Irgendwelche Ideen, um das zu lösen?

Danke.

+0

Können Sie angeben, wie Sie 'commonRedirect' verwenden möchten. Ich habe keine Fehler mit Ihrem Code. –

Antwort

11

Sie müssen eine Action machen.

def commonRedirect(anId: Long) = Action { 
    implicit val aRule = CommonClient.getTheRule(anId) 
    aRule match { 
    case false ⇒ Redirect("/general-rule/" + anId) 
    case true ⇒ Redirect("/custom-rule/" + anId) 
    } 
} 
+0

Danke @ Paul-Draper. Ich fand in http://stackoverflow.com/a/28247637/1665906, dass der erforderliche Typ dafür nicht nur 'Result', sondern' ⇒ Result' ist, und das ist eine Aktion. – Lucas

Verwandte Themen