1
我正在關注「Exploring Lift」一書,並且我嘗試了一個示例代碼片段 - 這裏唯一的區別是我不使用MegaProtoUser類,而是滾動我自己的。但是,我得到以下問題。Scala Lift:Box openOr似乎無法正常工作
這是我摘錄:
User.currentUser.map(user =>
user.projects.flatMap(project => {
bind("e", chooseTemplate("project", "entry", in),
"name" -> Text(project.name.is),
"actions" -> {
SHtml.link("/manageProjects",() => project.delete_!, Text("Delete")) ++ Text(" ") ++
SHtml.link("/editProject",() => currentAccountVar(project), Text("Edit"))
})
})) openOr Text("You are not logged in.")
,這裏是編譯器錯誤:
inferred type arguments [Seq[scala.xml.Node]{def seq: Seq[scala.xml.Node]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}] do not conform to method openOr's type parameter bounds [B >: scala.collection.mutable.Buffer[scala.xml.Node]]
type mismatch; found : scala.xml.Text required: Seq[scala.xml.Node]{def seq: Seq[scala.xml.Node]{def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}; def companion: scala.collection.generic.GenericCompanion[Seq[Any]]}
如果我open_取代openOr文本( 「您還沒有登錄」。)!那麼它的工作。
爲什麼我不能在這種情況下使用openOr,這個錯誤是什麼意思?什麼是正確的方法呢?
我已經試過了,但已經然後我得到以下錯誤: 類型不匹配;找到:scala.xml.NodeSeq required:Seq [scala.xml.Node] {def seq:Seq [scala.xml.Node] {def companion:scala.collection.generic.GenericCompanion [Seq [Any]]}; def companion:scala.collection.generic.GenericCompanion [Seq [Any]]} 看起來像編譯器不知道它想要什麼... –
我想我記得像這樣的錯誤...你可以發佈你的代碼一種讓我編譯它的形式?除了那一個錯誤當然... –
金,感謝您的時間!在這裏你去:https://gist.github.com/1118420我試圖儘可能縮短它。 –