기존 코드를에서 (으) Rogue 1.1.8
로 업그레이드 2.0.0
하고 lift-mongodb-record
있습니다 2.4-M5 to 2.5
.
MongoCaseClassField
스칼라 열거 형이 포함 된 쓰기 에 어려움을 겪고 있으며 실제로 도움을 줄 수 있습니다.
예를 들어
object MyEnum extends Enumeration {
type MyEnum = Value
val A = Value(0)
val B = Value(1)
}
case class MyCaseClass(name: String, value: MyEnum.MyEnum)
class MyMongo extends MongoRecord[MyMongo] with StringPk[MyMongo] {
def meta = MyMongo
class MongoCaseClassFieldWithMyEnum[OwnerType <: net.liftweb.record.Record[OwnerType], CaseType](rec : OwnerType)(implicit mf : Manifest[CaseType]) extends MongoCaseClassField[OwnerType, CaseType](rec)(mf) {
override def formats = super.formats + new EnumSerializer(MyEnum)
}
object myCaseClass extends MongoCaseClassFieldWithMyEnum[MyMongo, MyCaseClass](this)
/// ...
}
이 필드에 쓰려고하면 다음과 같은 오류가 발생합니다.
com.foursquare.rogue.BSONType [MyCaseClass] 유형의 증거 매개 변수에 대한 내재 된 값을 찾을 수 없습니다. (_.myCaseClass setTo myCaseClass)
예전에는 자체 버전의를 사용하여 Rogue 1.1.8에서이 작업을 MongoCaseClassField
수행 했으므로 #formats 메소드를 재정의 할 수 있습니다. 그러나이 기능은 2.5-RC6에서 lift-mongodb-record에 포함되었으므로 지금 작동해야한다고 생각 했습니까?