Playフォームを使用してリクエストをオブジェクトにマッピングするときに、ユーザーにアクセスできるようにしたいと思います。さらに面倒なことに、私はSecureSocialフレームワークも使用しているので、securesocial.core.SocialUserも使用していrequest.user
ます。
以下のコードは、マップされたdoc
オブジェクトが不変のケースクラスであり、再割り当てできないため、問題がありますlender
。可能であれば、不変性を維持したいと思います。
私はScalaの初心者なので、進め方がわかりません。
def create = SecuredAction() { implicit request =>
models.Lendable.form.bindFromRequest.fold(
errors => {
BadRequest(errors.errorsAsJson)
},
doc => AsyncResult {
// TODO: set the lender without mutating a val
doc.lender = models.User.fromSocialUser(request.user)
collection.insert(doc.copy()).map(_ => Ok)
})
}
あなたの助けをいただければ幸いです。
ありがとう