Playframework 2.0 播放表单:从安全操作映射request.user?
当我使用播放表单将请求映射到对象时,我希望能够访问用户。为了让事情变得更加复杂,我还使用了SecureSocial框架,因此,Playframework 2.0 播放表单:从安全操作映射request.user?,playframework-2.0,securesocial,Playframework 2.0,Securesocial,当我使用播放表单将请求映射到对象时,我希望能够访问用户。为了让事情变得更加复杂,我还使用了SecureSocial框架,因此,request.user是SecureSocial.core.SocialUser 下面的代码有问题,因为映射的doc对象是一个不可变的case类,所以我无法重新分配lender。如果可能的话,我宁愿保持不变性 我是Scala noob,所以不知道如何继续 def create = SecuredAction() { implicit request =>
request.user
是SecureSocial.core.SocialUser
下面的代码有问题,因为映射的doc
对象是一个不可变的case类,所以我无法重新分配lender
。如果可能的话,我宁愿保持不变性
我是Scala noob,所以不知道如何继续
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)
})
}
谢谢你的帮助
谢谢您可以这样做:
doc => AsyncResult {
val toInsert = doc.copy(lender = models.User.fromSecureUser(request.user))
collection.insert(toInsert).map(_ => Ok)
}
谢谢你的帮助。我不知道你能做到