gpt4 book ai didi

forms - 玩转框架Scala——获取表单中的session值

转载 作者:行者123 更新时间:2023-12-01 12:48:09 25 4
gpt4 key购买 nike

我在 Scala 中使用 Play 2.0.4 框架。

我必须为用户和团队建模。

case class User {
var email: String,
var username: String
}

case class Team {
var sport: String,
var captain: String //is the username of a User
}

在我的用户和团队 Controller 中,对象是通过表单创建的。对于用户来说,这很完美。成功请求后,使用 .withSession() 将用户名放入 session 中。也可以正常工作。

但现在我正在努力创建团队并从 session 中检索用户名。

看起来像

val teamForm = Form[Team](
mapping(
sport -> nonEmptyText,
//I actually don't have an input for captain as it should be retrieved from the session
)
) (
((sport, _) => User(sport, request.session.get("username"))
((team: Team) => Some(team.sport, team.captain))
)

问题是请求在表单的“上下文”中是未知的。

有没有人知道如何解决这个问题?

最佳答案

除非我遗漏了一些基本的东西,否则您只需将 val teamForm 更改为 def

def teamForm(request:Request[_]) = Form[Team](
mapping(
sport -> nonEmptyText,
//I actually don't have an input for captain as it should be retrieved from the session
)
) (
((sport, _) => User(sport, request.session.get("username"))
((team: Team) => Some(team.sport, team.captain))
)

关于forms - 玩转框架Scala——获取表单中的session值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14121540/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com