我正在使用Play框架和mongoDB创建一个scala应用程序。我设法使用Leon Play-Salat建立连接。我有一个模特
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。
答案 0 :(得分: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。
答案 1 :(得分: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))) )