首页 文章

播放框架Leon Salat模型表格映射

提问于
浏览
8

我正在使用Play框架和mongoDB创建一个scala应用程序 . 我设法使用Leon Play-Salat Build 连接 . 我有一个模特

case class Person(
  id: ObjectId = new ObjectId,
  fname: String,
  mname: String,
  lname: String
)

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

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找不到Object .

2 回答

  • 3

    管理以使其工作

    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 .

  • 2

    使用自己的构造函数和解构函数找到更好

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

相关问题