首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Play框架Leon Salat模型表单映射

Play框架Leon Salat模型表单映射
EN

Stack Overflow用户
提问于 2012-10-15 11:59:58
回答 2查看 832关注 0票数 8

我正在使用Play框架和mongoDB创建一个scala应用程序。我设法使用Leon Play-Salat建立了连接。我有一个模型

代码语言:javascript
复制
case class Person(
  id: ObjectId = new ObjectId,
  fname: String,
  mname: String,
  lname: String
)

在我的控制器中,我需要将它映射到一个表单

代码语言:javascript
复制
val personForm: Form[Person] = Form(

// Defines a mapping that will handle Contact values
mapping(
  "id" -> of[ObjectId],
  "fname" -> nonEmptyText,
  "mname" -> text,
  "lname" -> nonEmptyText     
)(Person.apply)(Person.unapply))

如何将ObjectID映射到表单?我收到找不到ObjectId的错误对象。

EN

回答 2

Stack Overflow用户

发布于 2012-10-16 11:32:09

设法让它正常工作

代码语言:javascript
复制
val personForm: Form[Person] = Form(
// Defines a mapping that will handle Contact values
mapping(
  "id" -> ignored(new ObjectId),
  "fname" -> nonEmptyText,
  "mname" -> text,
  "lname" -> nonEmptyText     
)(Person.apply)(Person.unapply))

我正在尝试执行CRUD函数,因此需要ID。

票数 3
EN

Stack Overflow用户

发布于 2012-10-18 12:24:08

发现使用自己的构造函数和解构函数更好

代码语言:javascript
复制
val personForm: Form[Person] = Form(
  mapping(
    "fname" -> nonEmptyText,
    "mname" -> text,
    "lname" -> nonEmptyText
  )((fname, mname, lname) => Person(new ObjectId, fname, mname, lname))
  ((person: Person) => Some((person.fname, person.mname, person.lname)))      )
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12889127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档