3

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
}

ユーザーとチームのコントローラーでは、オブジェクトはフォームを介して作成されます。ユーザーの場合、これは完璧に機能します。そして、リクエストが成功すると、.withSession() を使用してユーザー名をセッションに入れます。また、正常に動作します。

しかし今、私はチームを作成し、セッションからユーザー名を取得することに苦労しています.

のように見えます

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))
)

そして問題は、フォームの「コンテキスト」ではリクエストが不明であることです。

誰かがそれを解決する方法を知っていますか?

4

1 に答える 1

4

私が何か基本的なことを見逃していない限り、単にあなた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))
)
于 2013-01-02T12:53:55.673 に答える