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)
})
}
あなたの助けをいただければ幸いです。
ありがとう