невозможно реорганизовать код Scala, чтобы сделать его более читабельным - PullRequest
0 голосов
/ 02 марта 2019

Я изо всех сил пытаюсь понять Scala и, таким образом, думал реорганизовать кусок кода, чтобы сделать его более обессахаренным.Но я не могу этого сделать.

Исходный код:

def index(signupMessage:String = "") = addToken { //addToken is of CSRFAddToken
        silhouette.UserAwareAction { implicit request =>
        println(s"index action called with request ${utilities.printPlayHttpRequest(request)}")
          //TODOM - fix as signup value is coming up as ;signup=error or ;signup=success instead of just success or error
        println(s"index page's argument "+signupMessage)
        val Token(name, value) = CSRF.getToken.get
        println(s"Token name ${name}, value ${value}")
        Ok(views.html.index(signupMessage,messagesApi("app.title")(langs.availables(0))))
      }
    }

Я хочу удалить код из кода и сделать вызовы более явными.Я думаю о чем-то в следующей строке

def index(signupMessage:String = "") = {
    val block:Action[AnyContent] = (implicit request) =>{ //THE ERROR IS HERE - '=>' expected but ')' found
      println(s"index action called with request ${utilities.printPlayHttpRequest(request)}")
      //TODOM - fix as signup value is coming up as ;signup=error or ;signup=success instead of just success or error
      println(s"index page's argument "+signupMessage)
      val Token(name, value) = CSRF.getToken.get
      println(s"Token name ${name}, value ${value}")
      Ok(views.html.index(signupMessage,messagesApi("app.title")(langs.availables(0))))
    }
    val silhouttedCode = silhouette.UserAwareAction.apply(block)
    addToken.apply(silhouettedCode)
  }

вышеупомянутый фрагмент кода не компилируется.Что я делаю не так?

1 Ответ

0 голосов
/ 02 марта 2019

Я думаю, вам нужно написать Action следующим образом:

val block = Action { implicit request =>
  // Rest of code here
}

См. документы для действий .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...